Android 在代码中设置imagebutton的高度和宽度
这是我的密码Android 在代码中设置imagebutton的高度和宽度,android,Android,这是我的密码 ImageButton btnPlayVideo = (ImageButton) findViewById(R.id.btnPlayVideo); btnPlayVideo.setBackgroundResource(R.drawable.play_icon_grey); btnPlayVideo.setAdjustViewBounds(true); btnPlayVideo.setMaxHeight(10); btnPlayVideo.setMaxWidth(10); 在我的x
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和Layou的高度和宽度都不起作用。那么如何设置imagebutton的维度呢?您需要使用android:scaleType来调整其大小以适应需要
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:scaleType="fitXY" />
它产生以下输出
您需要使用android:scaleType来调整其大小以适应需要
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_launcher"
android:scaleType="fitXY" />
它产生以下输出
你可以通过代码来完成
android.view.ViewGroup.LayoutParams params = btnPlayVideo.getLayoutParams();
params.height = myHeight;
params.width = myWidth;
btnPlayVideo.setLayoutParams(params);
,但您的问题可能不在于代码,而在于布局-我看到您使用的是android:layout_span=2-这是否意味着btnPlayVideo在TableLayout中?如果是这样,您必须调整此TableLayout的尺寸,因为它的子项将始终具有填充父项的宽度和高度。您可以通过代码执行此操作
android.view.ViewGroup.LayoutParams params = btnPlayVideo.getLayoutParams();
params.height = myHeight;
params.width = myWidth;
btnPlayVideo.setLayoutParams(params);
,但您的问题可能不在于代码,而在于布局-我看到您使用的是android:layout_span=2-这是否意味着btnPlayVideo在TableLayout中?如果是这样,您必须调整此TableLayout的尺寸,因为它的子项将始终具有填充父项宽度和高度。我使用的度量:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
btnPlayVideo.setMinimumHeight(metrics.heightPixels / (amount));
btnPlayVideo.setMinimumWidth(metrics.widthPixels/ (amount));
我使用了以下指标:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
btnPlayVideo.setMinimumHeight(metrics.heightPixels / (amount));
btnPlayVideo.setMinimumWidth(metrics.widthPixels/ (amount));