LinearLayout重量

时间:2014-01-31 09:12:45

标签: android android-linearlayout

我有一个带有linearLayout重量的探针。 我将weightSum设置为3。 因为我有3个按钮,我希望它们大小相等,每个按钮的重量都设置为1。 但是当我点击按钮时按钮会调整大小,即使我与其他元素中的其他元素交互时,它们有时会改变大小。 有没有办法来修复大小,以便按钮占用100%的空间除以3并且根本没有调整大小? 谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

请确保将按钮的宽度设置为0dp,将layout_weight设置为1,每个按钮和线性布局的宽度应该填充父级的重量和3.如果您仍然遇到问题,请粘贴您的xml文件。< / p>

对于Ex考虑以下代码

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

        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:text="Button 1"
            android:layout_weight="1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:text="Button 1"
            android:layout_weight="1"  />

        <Button
            android:id="@+id/button3"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:text="Button 1"
            android:layout_weight="1"  />
    </LinearLayout>

你会得到类似的东西

enter image description here

答案 1 :(得分:1)

检查你是否做同样的事情

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

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

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button"

        />

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

</LinearLayout>

答案 2 :(得分:0)

如果您发布代码也会更有帮助。

如果您希望按钮大小相同,为什么不使用权重= 1,宽度或高度为0dp(对于每个按钮),而不是使用容器布局的weightSum。 这将是“......以100%的空间划分为3 ......”的解决方案。

答案 3 :(得分:0)

//use this code for three button with sum 3 ******************************
 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="3" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_weight="1" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_weight="1" />
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_weight="1" />
</LinearLayout>
</LinearLayout>