請允許我解釋一下。我有:如何解決這個imageview錯誤?
與畫面中的按鈕(位於@繪製/ PIC),
線性佈局(ID = linear1)
按鈕XML如下:
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginRight="10dp"
android:scaleType="fitXY"
android:src="@drawable/pic"
android:maxWidth="80dp"
android:maxHeight="80dp"
tools:ignore="ContentDescription" />
線性佈局xml如下:
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center"
android:orientation="horizontal"
tools:ignore="UselessLeaf" >
我想要的是,當我點擊按鈕,我想要在linearlayout內編程創建/生成imageview,並且我想用按鈕(pic)的相同圖片填充它。代碼如下:
//initiate imageview
ImageView img=new ImageView(this);
//get drawable from button
Drawable blabla=btn1.getDrawable();
//set drawable to imageview
img.setImageDrawable(blabla);
//set height and width of imageview to 50dp
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(50,50);
img.setLayoutParams(parms);
img.setScaleType(ScaleType.FIT_XY);
//place imageview to linearlayout
layoutTempat.addView(img);
該代碼可以正常顯示與按鈕所具有的圖像相同的圖像。 然而,問題是:當我設置圖像視圖爲50dp編程,圖像裏面的按鈕也改變了..它怎麼會發生?我很困惑,因爲我是一個新手..
以前感謝。
我之前encourted同樣的問題一段時間,並決定,ImageView的+按鍵組合要堅持,因爲提供了更多的靈活性。我認爲你所發現的東西就是他們想要展示的方式。 – Dejan
按鈕如何變化! ? –
如果你有視覺上的東西來描述你想要的效果,它可能會有所幫助。此外,'新的LinearLayout.LayoutParams(50,50);'這是50個像素,*不* dp。如果要以這種方式編程創建LayoutParams,則需要將其乘以屏幕的密度比例因子。 – Karakuri