我有一个 Activity ,我可以使用 LayoutInflater 在其上以编程方式创建一些按钮,如下所示:
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Button newButton = (Button) inflater.inflate(R.layout.my_button, currentTableRow, false);
和 my_button.xml:
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newButton"
android:layout_width="30dp"
android:layout_height="30dp"</Button>
它工作正常。但我的问题是:有没有什么方法可以将宽度和高度传递给 my_button.xml,或者有什么方法可以在我想膨胀该 View 时设置宽度和高度。我的意思是有时我想设置“30dp”,有时将其设置为“45dp”等。提前致谢。
最佳答案
float scale = context.getResources().getDisplayMetrics().density;
button.getLayoutParams().height = 30 * scale;
button.getLayoutParams().width = 30 * scale;
通过使用上面的代码,可以简单地在“dp”中设置高度和宽度。
关于android - 如何为 inflatedView (按钮)设置动态宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877559/