2014-01-16 19 views
0

我試圖修復雙方的寬度,並與佈局的進度的PARAMSAndroid的結合兩個的LayoutParams

邊緣下面的正確設置layout_margin

int finalHeight = soundcloudImage.getHeight()/8; 
int finalWidth = soundcloudImage.getWidth()/4; 

RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams(); 

progressParams.setMargins(0, 0, 0, finalHeight); 

progressBar.setLayoutParams(progressParams); 

而這種成功設置Layout_Width

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(finalWidth*2, 20); 

progressBar.setLayoutParams(params); 

但是,我似乎無法結合聲明讓他們一起工作

這裏是佈局的xml

<RelativeLayout 
       android:id="@+id/relativelayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 

       <ImageView 
        android:id="@+id/imageView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/soundcloudimage" /> 

       <TextView 
        android:id="@+id/myImageViewText" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBottom="@+id/imageView" 
        android:textSize="20dp" 
        android:layout_centerHorizontal="true" 
        android:text="" 
        android:textColor="#EA4F17" /> 

       <ProgressBar 
        android:id="@+id/progressBar" 
        style="?android:attr/progressBarStyleHorizontal" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignBottom="@+id/imageView" 
        android:layout_alignLeft="@+id/imageView" 
        android:layout_alignParentRight="true" /> 

      </RelativeLayout> 

任何幫助將是巨大的

編輯:嘗試以下

RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams(); 
progressParams.width=finalWidth*2; 
progressParams.height= 20; 
progressParams.setMargins(0, 0, 0, finalHeight); 

progressBar.setLayoutParams(progressParams); 

,並導致該

enter image description here

編輯:還試圖這樣:

RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(finalWidth*2, 20); 
progressParams.setMargins(0, 0, 0, finalHeight);  
progressBar.setLayoutParams(progressParams); 

它創建這個enter image description here

回答

1
RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams(); 
progressParams.width=finalWidth*2; 
progressParams.height= 20; 
progressParams.setMargins(finalWidth, 0, finalWidth, finalHeight); 

progressBar.setLayoutParams(progressParams); 

EDIT

嘗試這種情況:

RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(finalWidth*2, 20); 
progressParams.setMargins(0, 0, 0, finalHeight);  
progressBar.setLayoutParams(progressParams); 
+0

寬度心不是這樣設置的 –

+0

你是什麼意思? –

+0

這段代碼的進度條邊距設置,但如果它的FILL_PARENT –