如何设置充气视图的动态宽度和高度(按钮)

时间:2016-06-17 09:11:11

标签: android android-layout layout-inflater

我有一个活动,我可以使用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,或者当我想要给该视图充气时,设置宽度和高度。我的意思是有时候我想设置“30dp”,有时会把它设置为“45dp”等等。谢谢。

2 个答案:

答案 0 :(得分:1)

你可以试试这个

csv: 
    $(DOCKER_RUN) npm run csv-generator
    make format-csv

format-csv:
    @sed -i '' '1 s/^.*$$/"bar","repository"/g' $(CURDIR)/foo/npm/*.csv
    @sed -i '' 's/\(.*\)@/\1","/g' $(CURDIR)/foo/npm/*.csv

其中newButton .setLayoutParams (new LayoutParams(45, LayoutParams.WRAP_CONTENT)

表示第一个参数是width,第二个参数是height ..

答案 1 :(得分:1)

float scale = context.getResources().getDisplayMetrics().density;

button.getLayoutParams().height = 30 * scale;
button.getLayoutParams().width = 30 * scale;

通过使用上面的代码,可以在“dp”中简单地设置高度和宽度。