2017-04-27 169 views
-3

我想啓動圖像的邊距和大小.i在xml中有代碼,我想動態地編寫它。我已經閱讀了Stackoverlow中給出的所有答案但是我無法瞭解it.Kindly幫我out.I附上以下如何動態設置圖像大小和位置

  <ImageView 
      android:id="@+id/coin1" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:src="@mipmap/coin2" 
      android:layout_marginTop="25dp" 
      android:layout_toRightOf="@+id/ten_btn" 
      android:layout_marginLeft="35dp" 
      /> 

XML代碼對於這個XML我想它寫在Java代碼。

+2

*但我不明白*爲什麼你認爲你能夠理解另一個答案嗎? – Selvin

+0

我dono如何動態地編寫代碼,我喜歡學習。學習新事物是錯誤的。 –

+2

@Selvin,你應該已經知道了,*我無法理解它* ==請提供代碼我可以複製粘貼,我不知道我在做什麼...... – 2Dee

回答

0

試試這個:

ll_layout = (LinearLayout) findViewById(R.id.ll_layout);//parent layout of imageView 
      ImageView imageView = new ImageView(this);//initialize imageview 
      imageView.setLayoutParams(new LinearLayoutCompat.LayoutParams(100, 100));//set hight and width 
      //or 
      imageView.setLayoutParams(new LinearLayoutCompat.LayoutParams((int) getResources().getDimension(R.dimen.iv_width), (int) getResources().getDimension(R.dimen.iv_height))); 
      //or 
      imageView.setLayoutParams(new LinearLayoutCompat.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); 

      ll_layout.addView(imageView);//add image in parent layout 
+0

他* * layout_toRightOf' *顯然他沒有使用'LinearLayout'作爲父佈局 – Selvin

0
RelativeLayout root = (RelativeLayout)findViewById(R.id.your_id); 
ImageView iv = new ImageView(YourActivity.this); 
iv.setImageDrawable(getResources().getDrawable(R.drawable.frnd_inactive)); 
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(20,20); 
layoutParams.addRule(RelativeLayout.RIGHT_OF,R.id.ten_btn); 
layoutParams.setMargins(35, 25, 0, 0); 
iv.setLayoutParams(layoutParams); 
root.addView(iv); 

注意這些所有的值將在像素。要轉換您的DP測量像素試試這個

Resources r = mContext.getResources(); 
int px = (int) TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 
    yourdpmeasure, 
    r.getDisplayMetrics() 
); 
相關問題