Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在代码中设置imagebutton的高度和宽度_Android - Fatal编程技术网

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));