Android按钮宽度按比例分配

时间:2012-07-19 13:23:47

标签: android layout

我需要在一行中放置3个按钮./使用LinearLayout /。 问题是在按钮上更改文本时。由于“android:layout_width =”wrap_content“,宽度会发生变化。我想确保按钮的屏幕宽度是4:4:2比例。条款'wrap_content'破坏了这个,但我不能使用确切的大小,因为我不喜欢在设计时知道设备屏幕宽度。

有人知道如何在不使用代码的情况下解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

不要将其宽度设置为wrap_content。改为设置比例权重:

<LinearLayout
    ...
    layout_width = "match_parent"
    layout_height = "wrap_content" />

    <Button
        ....
        layout_width = "0dp"
        layout_height = "wrap_content"
        layout_weight = 2 />

    <Button
        ....
        layout_width = "0dp"
        layout_height = "wrap_content"
        layout_weight = 2 />

    <Button
        ....
        layout_width = "0dp"
        layout_height = "wrap_content"
        layout_weight = 1 />

</LinearLayout>

答案 1 :(得分:0)

尝试以下:

<?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" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:weightSum="10"   //    SEE THIS IS 4+4+2 = 10
        android:layout_centerHorizontal="true" >

        <Button
            android:layout_weight="4"   // THIS    IS   4
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:layout_weight="4"   // THIS    IS   4
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:layout_weight="2"   // THIS    IS   2
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </LinearLayout>

</RelativeLayout>

答案 2 :(得分:0)

应该是 机器人:layout_weight =&#34; 4DP&#34;