我有一个android LinearLayout,在按钮上我有按钮,我想在一行显示 - 我把它放在一个水平布局,所以它会彼此相邻 - 到目前为止一直很好。
这是我的问题 - 按钮是彼此相邻的,我想要的是让它们在屏幕之间留出空格,从右到左填充第一个和最后一个按钮不会粘在屏幕边框。
这是我的布局xml(只是LinearLayout
(水平)部分):
<LinearLayout
android:id="@+id/btnHelpLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/btnHelp"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_help" />
<TextView
android:id="@+id/tvHelp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_help"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnShareLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/btnShare"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_share" />
<TextView
android:id="@+id/tvShare"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_share"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnAboutLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="28dp"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/btnAbout"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_about" />
<TextView
android:id="@+id/tvAbout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_about"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnSettingsLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/btnSettings"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_settings" />
<TextView
android:id="@+id/tvSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_settings"
android:textColor="#fff" />
</LinearLayout>
</LinearLayout>
我怎样才能让它居中并有空格?
感谢
答案 0 :(得分:3)
更改子容器(LinearLayout's
btnHelpLayout , btnShareLayout , btnAboutLayout 和 btnSettingsLayout ) android:layout_width
属性为"0dip"
,并在所有子容器中设置新属性android:layout_weight="1"
(不 Buttons
和TextViews
)。< / p>
这将使它们占据相同的空间并给你一个统一的外观。
<LinearLayout
android:id="@+id/btnHelpLayout"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/btnHelp"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_help" />
<TextView
android:id="@+id/tvHelp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_help"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnShareLayout"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="30dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/btnShare"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_share" />
<TextView
android:id="@+id/tvShare"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_share"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnAboutLayout"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="28dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/btnAbout"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_about" />
<TextView
android:id="@+id/tvAbout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_about"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnSettingsLayout"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/btnSettings"
android:layout_width="52dp"
android:layout_height="52dp"
android:background="@drawable/btn_settings" />
<TextView
android:id="@+id/tvSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/btn_settings"
android:textColor="#fff" />
</LinearLayout>