同样垂直间隔的按钮

时间:2012-05-11 22:24:17

标签: android android-linearlayout

例如它们之间有相同的空间,而不是调整它们的大小。

例如:top-20dp-button-20dp-button-20dp(20是一个例子,我不想使用dp)

我试了这个没有运气:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:visibility="visible" android:weightSum="3">

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:gravity="center_vertical|center_horizontal"
        android:text="Button" android:layout_weight="1"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:gravity="center_vertical|center_horizontal"
        android:text="Button" android:layout_weight="1"/>

    <Button
        android:id="@+id/button3"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:gravity="center_vertical|center_horizontal"
        android:text="Button" android:layout_weight="1"/>

</LinearLayout>

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

您可以通过使用自己的线性布局围绕每个按钮,然后将新线性布局上的权重设置为每个按钮来实现您所寻找的效果。从那里你只需要调整按钮来指定layout_gravity而不仅仅是重力(layout_gravity定位视图与它的父级,重力位置视图中的元素)

代码看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:visibility="visible"
    android:weightSum="3" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="Button" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="Button" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <Button
            android:id="@+id/button3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="Button" />
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

您的问题非常难以理解,我知道您的英语不流利,但您需要更加具体。发布您想要的设计图像。我会采取另一个猜测,也许这就是你想要描述的内容:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:visibility="visible">

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Button 1"
        />

    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Button 2"
        />

    <Button
        android:id="@+id/button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Button 3" 
        />

</LinearLayout>

我根据您提供的唯一说明进行了此处:

  

例如:top-20dp-button-20dp-button-20dp

您可以再次使用所需的dp,sp或任何;了解dp代表与密度无关的像素。再次Supporting Multiple ScreensMore Resource Types描述得非常好,你会看到dp是相对的。它还描述了dp或dip之间的差异,即 dpi。

另外请注意我改变了我的填充建议以调整边距,我第一次错了,但是这样一个模糊的问题只是一个猜测。我希望这会有所帮助,否则就会清楚地展示你希望实现的目标。祝你好运!

答案 2 :(得分:0)

感谢Kostya,这是一个asnwer:)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
    <View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>
<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="button 1"/>

<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="button 2"/>

<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="button 3"/>
<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/> 
</LinearLayout>