android根据设备屏幕大小更改按钮大小

时间:2016-01-16 17:34:42

标签: android height size width

我想将我的应用程序设计调​​整到任何Android设备,我已经尝试按百分比设置元素大小属性,但我用这种方式进入了truble所以我尝试了这个代码:(按设备屏幕大小设置宽度和高度/ 5 )

public void fixButtonSizes (){
    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width1 = size.x;
    int height1 = size.y;
    Button button1vid = (Button) findViewById(R.id.button1);
    button1vid.setHeight(height1 / 5);
    button1vid.setWidth(width1 / 5);
}

它对我来说也不起作用

1 个答案:

答案 0 :(得分:0)

要在android中使用百分比宽度或高度,您应该将元素包装在0dp中并使用元素的layout_width属性。此外,您必须根据所需的尺寸将layout_width放入<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 1"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 2"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 3"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 4"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button 5"/> </LinearLayout> 或{{1}}。

要计算元素的高度或宽度,您必须将布局中元素的所有layout_weight相加,然后除以元素的权重。

例如,如果要水平创建5个具有相同宽度的按钮,可以使用:

{{1}}

我希望这会澄清你。