在代码中设置imagebutton的高度和宽度

时间:2012-06-12 07:31:09

标签: android

这是我的代码

ImageButton btnPlayVideo = (ImageButton) findViewById(R.id.btnPlayVideo);
btnPlayVideo.setBackgroundResource(R.drawable.play_icon_grey);
btnPlayVideo.setAdjustViewBounds(true);
btnPlayVideo.setMaxHeight(10);
btnPlayVideo.setMaxWidth(10);

和我的xml

<ImageButton
android:id="@+id/btnPlayVideo"
android:layout_width="90dp"
android:layout_height="90dp"
android:background="@android:color/transparent"
android:layout_span="2" />

但似乎setmaxheight和layout_height和width甚至都不起作用。那么如何设置图像按钮的尺寸?

3 个答案:

答案 0 :(得分:5)

您需要使用android:scaleType调整大小以适应。

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher"
        android:scaleType="fitXY" />

产生以下输出。

enter image description here

答案 1 :(得分:4)

您可以通过代码

执行此操作
android.view.ViewGroup.LayoutParams params = btnPlayVideo.getLayoutParams();
params.height = myHeight;
params.width = myWidth;
btnPlayVideo.setLayoutParams(params);

,但可能您的问题不在代码中,但在布局中 - 我发现您使用的是android:layout_span="2" - 这是否意味着btnPlayVideo位于TableLayout?如果是这样,您必须规范此TableLayout的维度,因为其子级的宽度和高度始终为fill_parent

答案 2 :(得分:0)

我使用了指标:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

btnPlayVideo.setMinimumHeight(metrics.heightPixels / (amount));
btnPlayVideo.setMinimumWidth(metrics.widthPixels/ (amount));