我试图在运行时设置ImageButton的图像。它应该填满屏幕的宽度,并使用尽可能多的空间来正确缩放。
ImageButton声明如下:
<ImageButton
android:id="@+id/map_plan_topview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:onClick="onMapImageClicked"
android:background="#0000"
android:scaleType="fitXY" />
现在我尝试使用以下方式设置图片:
ImageButton topView = (ImageButton) findViewById(R.id.map_plan_topview);
Drawable d = Drawable.createFromPath(path);
topView.setImageDrawable(d);
图像宽度使用fill_parent进行缩放,但未在高度上正确拉伸。
如果我使用
topView.setImageResource(R.drawable.button_where_citymap);
相反,一切正常,但我确实想在运行时从文件路径设置源。
我做错了什么?
答案 0 :(得分:0)
fitXY
在不考虑比例的情况下拉伸图像。如果比例很重要,请使用center_crop
或center_inside
您也可以在代码中设置ScaleType
:
ImageButton topView = (ImageButton) findViewById(R.id.map_plan_topview);
Drawable d = Drawable.createFromPath(path);
topView.setScaleType(ScaleType.CENTER_CROP);
topView.setImageDrawable(d);
答案 1 :(得分:0)
您应该使用“SetImageResource
”代替“setImage Drawable
”......!