按钮在android中占用相同的空间

时间:2014-03-26 18:19:13

标签: android

关于这个主题有一些类似的问题,我现在已经尝试了很多但是他们不能工作。 我有三个按钮,我希望它们占据屏幕顶部相同的空间。我已尝试将它们放入线性布局并使用权重,但它们根本没有在图形布局上显示。任何建议

    <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:layout_gravity="top"
        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=".FragActivity" >

        <LinearLayout         
            android:layout_width="match_parent"         
            android:layout_height="0dp"         
            android:orientation="horizontal"         
            android:weightSum="1"         
            android:layout_gravity="top">

            <Button
                android:id="@+id/home"
                android:layout_width="0dp"  
                android:layout_weight="0.5"
                android:layout_height="wrap_content"
                android:onClick="home"
                android:text="Home" />

            <Button
                android:id="@+id/Friends" 
                android:layout_width="0dp" 
                android:layout_weight="0.5"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/home"
                android:onClick="Friends"
                android:text="Friends" />

            <Button
                android:id="@+id/makeEvent"
                android:layout_height="wrap_content"
                android:layout_width="0dp"  
                android:layout_weight="0.5"
                android:layout_toRightOf="@+id/home"
                android:onClick="makeEvent"
                android:text="Make Event" />

         </LinearLayout>
    </RelativeLayout>

3 个答案:

答案 0 :(得分:1)

您已将[{1}}和height向后调整为水平width LinearLayout

layout. Switch your

否则你的身高是0,所以当然你不会看到任何东西。

我还删除了<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:orientation="horizontal" android:layout_gravity="top"> ,因为在这种情况下不需要它,所以让设备为您计算更安全。

您也可以从weight_sum删除android:layout_toRightOf="@+id/home",因为Button的{​​{1}}属性并不存在,这就是您的LinearLayout所包含的内容。

答案 1 :(得分:1)

    <LinearLayout         
        android:layout_width="match_parent"         
        android:layout_height="wrap_content"         
        android:orientation="horizontal"         
        android:weightSum="3"         
        android:layout_gravity="top">

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

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

            android:onClick="Friends"
            android:text="Friends" />

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

            android:onClick="makeEvent"
            android:text="Make Event" />

     </LinearLayout>
</RelativeLayout>
全都修好了。你在一个线性布局中,并没有将宽度和高度设置为零。您有三个按钮,因此将权重总和设置为3,并为每个按钮赋予权重1.删除放置标记,如在线性布局中,它们将以线性样式放置。

用我的代码替换你的代码并试一试

答案 2 :(得分:0)

android:weightSum="3"设置为LinearLayoutandroid:layout_weight="1"设置为Button,如下所示...

<?xml version="1.0" encoding="utf-8"?>
<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:layout_gravity="top"
    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=".FragActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:orientation="horizontal"
        android:weightSum="3" >

        <Button
            android:id="@+id/home"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="home"
            android:text="Home" />

        <Button
            android:id="@+id/Friends"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/home"
            android:layout_weight="1"
            android:onClick="Friends"
            android:text="Friends" />

        <Button
            android:id="@+id/makeEvent"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="makeEvent"
            android:text="Make Event" />
    </LinearLayout>

</RelativeLayout>