【问题标题】:Android buttons, all equal height to fill to bottom of the screen, all resolutionsAndroid 按钮,所有等高以填充到屏幕底部,所有分辨率
【发布时间】:2013-05-22 11:09:02
【问题描述】:

有没有一种方法可以使 xml 中的 Android 按钮都等高,以达到具有所有屏幕分辨率的屏幕底部。因此,无论手机是什么屏幕分辨率,应用程序都会让按钮填充到屏幕底部。

这是我目前所拥有的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000000"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="Next"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#DEC779" />

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/playiconw"
    android:text="Back"
    android:textColor="#FFFFFF" 
    android:layout_below="@+id/textView1"/>

<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/playiconw"
    android:text="Go"
    android:textColor="#FFFFFF" 
    android:layout_below="@+id/button1"/>

<Button
    android:id="@+id/button3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/playiconw"
    android:text="Left"
    android:textColor="#FFFFFF" 
    android:layout_below="@+id/button2"/>

<Button
    android:id="@+id/button4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/playiconw"
    android:text="Right"
    android:textColor="#FFFFFF" 
    android:layout_below="@+id/button3"/>

<Button
    android:id="@+id/button5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/playiconw"
    android:text="Up"
    android:textColor="#FFFFFF" 
    android:layout_below="@+id/button4"/>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="DOWN"
    android:textColor="#FFFFFF" 
    android:gravity="center"/>

</RelativeLayout>

【问题讨论】:

    标签: android xml button textview android-relativelayout


    【解决方案1】:

    是的,使用 relativelayout 使按钮附加到 relativelayout 的底部。

    将高度设为固定高度。 并与父底部对齐

        android:layout_alignParentBottom="true"
    

    所以每个按钮是:

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_alignParentBottom="true"
        android:drawableRight="@drawable/playiconw"
        android:text="Back"
        android:textColor="#FFFFFF" 
        android:layout_below="@+id/textView1"/>
    

    【讨论】:

    • 这只是使按钮中的 1 个非常大并填满整个页面:/
    • 对所有按钮应用相同的东西,然后选择按钮顶部的对齐位置。因为您将它放在 textView 下方,所以我建议您删除我的高度建议。请参阅我的编辑。
    • 还是一样,不过还是谢谢你的帮助!
    【解决方案2】:

    将您的按钮放在一个 LinearLayout 中,并将layout_height="match_parent" 添加到所有按钮,并将layout_weight="1" 添加到所有按钮。这应该可以工作,因为重量可以用作某种百分比/相对值。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000"
    android:orientation="vertical" >
    
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Next"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#DEC779" />
    
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="DOWN"
        android:textColor="#FFFFFF" 
        android:gravity="center"/>
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/textView1"
        android:layout_above="@id/textView2">
      <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/playiconw"
        android:text="Back"
        android:textColor="#FFFFFF" 
        android:layout_weight="1"/>
    
      <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/playiconw"
        android:text="Go"
        android:textColor="#FFFFFF" 
        android:layout_weight="1"/>
    
      <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/playiconw"
        android:text="Left"
        android:textColor="#FFFFFF" 
        android:layout_weight="1"/>
    
      <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/playiconw"
        android:text="Right"
        android:textColor="#FFFFFF" 
        android:layout_weight="1"/>
    
      <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/playiconw"
        android:text="Up"
        android:textColor="#FFFFFF"
        android:layout_weight="1"/>
    </LinearLayout>
    
    </RelativeLayout>
    

    【讨论】:

    • Layout_weight 不适用于相对布局,但感谢您的帮助:D
    • 这就是为什么我说你应该把按钮放在一个线性布局中。这是确保顶部/底部的两个文本视图都存在的唯一方法。
    • 更新了我的答案以显示(未经测试的)布局代码。可能是您需要手动设置 LinearLayout 的方向...
    • 非常感谢!只有第一个和最后一个按钮在文本上方有任何帮助吗?
    • 不想更改为 LinearLayout,因为我希望文本居中:/
    猜你喜欢
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多