用3个视图水平填充整个屏幕?

时间:2016-02-26 03:53:44

标签: android android-layout

我想用3个视图水平填充整个屏幕。我希望他们所有人都有相同的规模。如果我手动输入dp的宽度值,则其中一个比其他更大或者在更换设备时,它不会填充大屏幕上的屏幕。什么是正确的做法? What I want

4 个答案:

答案 0 :(得分:9)

试试此代码

        <?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="horizontal">


                <Button
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Test" />

                <Button
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Test" />

                <Button
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Test" />

            </LinearLayout>

        </RelativeLayout>

答案 1 :(得分:2)

您可以将父布局与“fill_parent”width属性一起使用,然后为每个视图指定layout_weight =“1”。

试试这个。

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">

<Button android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Text"
        android:layout_weight="1"/>
<Button android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Text"
        android:layout_weight="1"/>
<Button android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Text"
        android:layout_weight="1"/>
</LinearLayout>

答案 2 :(得分:2)

我想发表评论,但我没有足够的代表。所以我发布这个作为答案。您是否使用水平LinearLayout来包装这三个?如果是,您是否尝试过使用属性android:layout_weight?如果还没有,请为布局XML中的所有这些视图设置android:layout_weight="1"。这应该平等地放置这些观点。但是,如果你可以发布你的XML代码会更有帮助。

答案 3 :(得分:2)

你可以这样做我只是按下你写其他组件的按钮

 <LinearLayout  xmlns:android="http://schemas.android.com/apk/re/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   android:orientation="horizontal">
   <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Test" />

    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Test" />

    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Test" />

</LinearLayout>