固定大小的按钮显示方式不同



我是一个安静的新开始与android,我试图有一个屏幕充满了4个按钮在彼此之下,我做了3个不同的布局文件夹layout_normallayout_largelayout_xlarge。对于normal,我将宽度和高度设置为120dp,对于xlarge,我将它们设置为170dp,从而产生方形按钮。我在我的LG-E975上测试过,它很好,我在三星Galaxy tab 10.0上测试过,它也很好,但后来我为其他设备创建了一些模拟器来测试,它搞砸了,第四个按钮不在屏幕上,模拟器只显示3个按钮。

Emulator info:
    target: Android 4.2.2
    Skin: 320 x 480
    hw.lcd.density: 160

我的LG和模拟器都被认为是正常的屏幕尺寸。我知道有很多关于这个问题的文章,但如果有人用简单易懂的方式给我解释一下,我会很感激。应该放弃使用固定大小的按钮吗?

编辑:这是我的xml layout-normal

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.kaw.mp2.MainActivity"
android:background="@color/background_all" >
<Button
    android:id="@+id/btn_main_aboutus"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:text="@string/btn_aboutus_text"
    android:layout_centerHorizontal="true"
    android:layout_alignParentRight="true"
    android:layout_marginTop="20dp"
    android:background="@color/background_btn"
    android:textColor="@color/text_color_btn" />
<Button
    android:id="@+id/btn_main_contactus"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:text="@string/btn_contactus_text"
    android:layout_below="@id/btn_main_aboutus"
    android:layout_marginTop="10dp"
    android:layout_alignParentRight="true" 
    android:background="@color/background_btn"
    android:textColor="@color/text_color_btn" />
<Button
    android:id="@+id/btn_main_products"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:text="@string/btn_products_text"
    android:layout_below="@id/btn_main_contactus"
    android:layout_marginTop="10dp"
    android:layout_alignParentRight="true" 
    android:background="@color/background_btn"
    android:textColor="@color/text_color_btn" />
<Button
    android:id="@+id/btn_main_news"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:text="@string/btn_news_text"
    android:layout_below="@id/btn_main_products"
    android:layout_marginTop="10dp"
    android:layout_alignParentRight="true" 
    android:background="@color/background_btn"
    android:textColor="@color/text_color_btn" />
</RelativeLayout>

我假设你想要4个按钮在一个垂直的行(水平居中)。如果我理解正确的话,你应该使用LinearLayout,用它你可以指定不同组件的权重。把它当作优先事项。如果所有按钮都具有相同的重量,则它们都将缩放以适合屏幕。

将RelativeLayout改为LinearLayout,并添加属性:

android:orientation="vertical"

所有的按钮都应该有相同的高度,

android:layout_centerHorizontal="true"

可以删除

android:layout_below="@id/btn_main_aboutus

相关内容

  • 没有找到相关文章

最新更新