每次我在模拟器中选择不同的设备,即使它们的大小大致相同,我的android布局也会改变?(My android layout changes each time i chose a different

编程入门 行业动态 更新时间:2024-10-24 02:25:43
每次我在模拟器中选择不同的设备,即使它们的大小大致相同,我的android布局也会改变?(My android layout changes each time i chose a different device in emulator even if they have approximately same size?)

这是我的xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="15dp" android:paddingRight="15dp" tools:context=".MainActivity" > <TextView android:id="@+id/ResultText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="20sp" android:layout_marginTop="5dp" android:background="#EEEEEE" /> <TextView android:id="@+id/InputText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/ResultText" android:layout_below="@+id/ResultText" android:background="#BBBBBB" android:gravity="right" android:textColor="#FFFFFF" android:layout_marginTop="4dp" android:textSize="15sp" /> <Button android:id="@+id/button5" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:text="5" /> <Button android:id="@+id/button7" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button3" android:layout_alignTop="@+id/button6" android:text="7" /> <Button android:id="@+id/button8" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button4" android:layout_alignTop="@+id/button7" android:text="8" /> <Button android:id="@+id/button9" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button5" android:layout_below="@+id/button5" android:text="9" /> <Button android:id="@+id/buttonMultiply" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonDivide" android:text="x" /> <Button android:id="@+id/buttonSubtract" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonAdd" android:layout_alignBottom="@+id/buttonAdd" android:layout_alignParentRight="true" android:text="-" /> <Button android:id="@+id/buttonDivide" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button8" android:layout_alignBottom="@+id/button8" android:layout_alignLeft="@+id/buttonAdd" android:text="/" /> <Button android:id="@+id/buttonAdd" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button4" android:layout_alignBottom="@+id/button4" android:layout_toLeftOf="@+id/buttonSubtract" android:text="+" /> <Button android:id="@+id/button4" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button8" android:layout_toLeftOf="@+id/buttonDivide" android:text="4" /> <Button android:id="@+id/button3" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button7" android:layout_toLeftOf="@+id/button8" android:text="3" /> <Button android:id="@+id/buttonDot" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button0" android:layout_alignBottom="@+id/button0" android:layout_alignLeft="@+id/button7" android:text="." /> <Button android:id="@+id/button2" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button3" android:layout_alignBottom="@+id/button3" android:layout_toLeftOf="@+id/button3" android:text="2" /> <Button android:id="@+id/button6" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button0" android:layout_toLeftOf="@+id/button7" android:text="6" /> <Button android:id="@+id/button0" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button9" android:layout_alignBottom="@+id/button9" android:layout_alignLeft="@+id/button6" android:text="0" /> <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/InputText" android:layout_marginTop="26dp" android:layout_toLeftOf="@+id/button2" android:text="1" /> <Button android:id="@+id/buttonEqual" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonDot" android:layout_alignBottom="@+id/buttonDot" android:layout_alignRight="@+id/buttonMultiply" android:layout_toRightOf="@+id/button8" android:text="=" /> <Button android:id="@+id/buttonDel" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonDot" android:layout_toRightOf="@+id/buttonDot" android:text="del" /> <Button android:id="@+id/buttonSin" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button9" android:layout_below="@+id/button9" android:text="sin" /> <Button android:id="@+id/buttonCos" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button0" android:layout_alignTop="@+id/buttonSin" android:text="cos" /> <Button android:id="@+id/buttonTan" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonDot" android:layout_alignTop="@+id/buttonCos" android:text="tan" /> <Button android:id="@+id/buttonCot" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonSec" android:text="cot" /> <Button android:id="@+id/buttonSec" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonCosec" android:layout_alignBottom="@+id/buttonCosec" android:layout_toLeftOf="@+id/buttonCot" android:text="sec" /> <Button android:id="@+id/buttonCosec" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonTan" android:layout_alignBottom="@+id/buttonTan" android:layout_toLeftOf="@+id/buttonSec" android:layout_marginLeft="1dp" android:text="csec" /> <Button android:id="@+id/buttonPow" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonSin" android:layout_below="@+id/buttonSin" android:layout_alignRight="@+id/buttonSin" android:gravity="left" android:textSize="10sp" android:text="yX" /> <Button android:id="@+id/buttonLog10" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonPow" android:layout_toRightOf="@+id/buttonPow" android:text="log" /> <Button android:id="@+id/buttonLoge" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonLog10" android:layout_alignBottom="@+id/buttonLog10" android:layout_toRightOf="@+id/buttonLog10" android:text="ln" /> <Button android:id="@+id/buttonSquare" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonLoge" android:layout_toRightOf="@+id/buttonLoge" android:text="sqr" /> <Button android:id="@+id/buttonSqrt" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonSquare" android:layout_toRightOf="@+id/buttonSquare" android:text="sqrt" /> <Button android:id="@+id/buttonFactorial" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonSqrt" android:text="x!" /> <Button android:id="@+id/buttonSinh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonPow" android:layout_below="@+id/buttonPow" android:layout_toLeftOf="@+id/buttonLoge" android:text="sinh" /> <Button android:id="@+id/buttonCosh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonSinh" android:layout_alignBottom="@+id/buttonSinh" android:layout_alignLeft="@+id/buttonLoge" android:layout_toLeftOf="@+id/buttonSqrt" android:text="cosh" /> <Button android:id="@+id/buttonTanh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonSqrt" android:layout_alignRight="@+id/buttonFactorial" android:layout_alignTop="@+id/buttonCosh" android:text="tanh" /> </RelativeLayout>

这里有一些屏幕截图:

如您所见,左侧部分未完全填充,它位于4.65英寸xhdpi屏幕上。在4英寸高清屏幕上,它完美覆盖全宽和全高

Here is my xml file

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="15dp" android:paddingRight="15dp" tools:context=".MainActivity" > <TextView android:id="@+id/ResultText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="20sp" android:layout_marginTop="5dp" android:background="#EEEEEE" /> <TextView android:id="@+id/InputText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/ResultText" android:layout_below="@+id/ResultText" android:background="#BBBBBB" android:gravity="right" android:textColor="#FFFFFF" android:layout_marginTop="4dp" android:textSize="15sp" /> <Button android:id="@+id/button5" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:text="5" /> <Button android:id="@+id/button7" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button3" android:layout_alignTop="@+id/button6" android:text="7" /> <Button android:id="@+id/button8" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button4" android:layout_alignTop="@+id/button7" android:text="8" /> <Button android:id="@+id/button9" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button5" android:layout_below="@+id/button5" android:text="9" /> <Button android:id="@+id/buttonMultiply" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonDivide" android:text="x" /> <Button android:id="@+id/buttonSubtract" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonAdd" android:layout_alignBottom="@+id/buttonAdd" android:layout_alignParentRight="true" android:text="-" /> <Button android:id="@+id/buttonDivide" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button8" android:layout_alignBottom="@+id/button8" android:layout_alignLeft="@+id/buttonAdd" android:text="/" /> <Button android:id="@+id/buttonAdd" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button4" android:layout_alignBottom="@+id/button4" android:layout_toLeftOf="@+id/buttonSubtract" android:text="+" /> <Button android:id="@+id/button4" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button8" android:layout_toLeftOf="@+id/buttonDivide" android:text="4" /> <Button android:id="@+id/button3" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button7" android:layout_toLeftOf="@+id/button8" android:text="3" /> <Button android:id="@+id/buttonDot" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button0" android:layout_alignBottom="@+id/button0" android:layout_alignLeft="@+id/button7" android:text="." /> <Button android:id="@+id/button2" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button3" android:layout_alignBottom="@+id/button3" android:layout_toLeftOf="@+id/button3" android:text="2" /> <Button android:id="@+id/button6" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button0" android:layout_toLeftOf="@+id/button7" android:text="6" /> <Button android:id="@+id/button0" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button9" android:layout_alignBottom="@+id/button9" android:layout_alignLeft="@+id/button6" android:text="0" /> <Button android:id="@+id/button1" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/InputText" android:layout_marginTop="26dp" android:layout_toLeftOf="@+id/button2" android:text="1" /> <Button android:id="@+id/buttonEqual" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonDot" android:layout_alignBottom="@+id/buttonDot" android:layout_alignRight="@+id/buttonMultiply" android:layout_toRightOf="@+id/button8" android:text="=" /> <Button android:id="@+id/buttonDel" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonDot" android:layout_toRightOf="@+id/buttonDot" android:text="del" /> <Button android:id="@+id/buttonSin" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button9" android:layout_below="@+id/button9" android:text="sin" /> <Button android:id="@+id/buttonCos" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button0" android:layout_alignTop="@+id/buttonSin" android:text="cos" /> <Button android:id="@+id/buttonTan" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonDot" android:layout_alignTop="@+id/buttonCos" android:text="tan" /> <Button android:id="@+id/buttonCot" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonSec" android:text="cot" /> <Button android:id="@+id/buttonSec" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonCosec" android:layout_alignBottom="@+id/buttonCosec" android:layout_toLeftOf="@+id/buttonCot" android:text="sec" /> <Button android:id="@+id/buttonCosec" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonTan" android:layout_alignBottom="@+id/buttonTan" android:layout_toLeftOf="@+id/buttonSec" android:layout_marginLeft="1dp" android:text="csec" /> <Button android:id="@+id/buttonPow" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonSin" android:layout_below="@+id/buttonSin" android:layout_alignRight="@+id/buttonSin" android:gravity="left" android:textSize="10sp" android:text="yX" /> <Button android:id="@+id/buttonLog10" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonPow" android:layout_toRightOf="@+id/buttonPow" android:text="log" /> <Button android:id="@+id/buttonLoge" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonLog10" android:layout_alignBottom="@+id/buttonLog10" android:layout_toRightOf="@+id/buttonLog10" android:text="ln" /> <Button android:id="@+id/buttonSquare" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonLoge" android:layout_toRightOf="@+id/buttonLoge" android:text="sqr" /> <Button android:id="@+id/buttonSqrt" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/buttonSquare" android:layout_toRightOf="@+id/buttonSquare" android:text="sqrt" /> <Button android:id="@+id/buttonFactorial" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/buttonSqrt" android:text="x!" /> <Button android:id="@+id/buttonSinh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonPow" android:layout_below="@+id/buttonPow" android:layout_toLeftOf="@+id/buttonLoge" android:text="sinh" /> <Button android:id="@+id/buttonCosh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/buttonSinh" android:layout_alignBottom="@+id/buttonSinh" android:layout_alignLeft="@+id/buttonLoge" android:layout_toLeftOf="@+id/buttonSqrt" android:text="cosh" /> <Button android:id="@+id/buttonTanh" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/buttonSqrt" android:layout_alignRight="@+id/buttonFactorial" android:layout_alignTop="@+id/buttonCosh" android:text="tanh" /> </RelativeLayout>

here are some screen shots:

As you can see the left portion is not filled completely it is on a 4.65 inch xhdpi screen On a 4 inch hdpi screen its perfect covering full width and full height

最满意答案

基本上,Ben Pearson建议,你可以使用TableLayout和几个TableRow布局。 例如,单行布局XML可能如下所示:

<TableRow android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button5" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="5" /> <Button android:id="@+id/button6" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="6" /> <Button android:id="@+id/button7" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="7" /> <Button android:id="@+id/button8" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="8" /> <Button android:id="@+id/buttonDivide" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="/" /> <Button android:id="@+id/buttonMultiply" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="x" /> </TableRow>

请注意,由于TableRow是LinearLayout的子类,因此它了解其子项的layout_weight属性。 在每个按钮上将layout_width设置为0dp,将layout_weight设置为1(对于某些按钮,设置为2)。

Basically, what Ben Pearson suggested, you can use TableLayout and several TableRow layouts. For example, a single row layout XML might look like this:

<TableRow android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button5" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="5" /> <Button android:id="@+id/button6" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="6" /> <Button android:id="@+id/button7" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="7" /> <Button android:id="@+id/button8" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="8" /> <Button android:id="@+id/buttonDivide" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="/" /> <Button android:id="@+id/buttonMultiply" style="?android:attr/buttonStyleSmall" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="x" /> </TableRow>

Note that since TableRow is a subclass of LinearLayout, it understands the layout_weight attribute on its children. Set the layout_width to 0dp and layout_weight to 1 on each button (or 2, for some buttons).

更多推荐

本文发布于:2023-08-06 19:24:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1454968.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:我在   也会   布局   器中   大小

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!