我想将我的应用程序设计调整到任何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);
}
它对我来说也不起作用
答案 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}}
我希望这会澄清你。