Android - проблема в макете - PullRequest
1 голос
/ 24 февраля 2011

Я пытаюсь подготовить макет, такой же, как на картинке ниже.

Мои проблемы указаны на изображении:

  1. Я пытаюсь настроить кнопки точно так же (ширина), как указано на рисунке 1
  2. Я пытаюсь установить для кнопок "Сохранить" и "Отмена" ниже одинаковую ширину.

enter image description here

Я пробовал использовать приведенную ниже схему XML:

<RelativeLayout
    android:id="@+id/widget38"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="5dp">

    <TextView 
        android:layout_width="wrap_content" 
        android:id="@+id/textView1" 
        android:text="Event" 
        android:layout_alignParentLeft="true" 
        android:layout_height="wrap_content">
    </TextView>

    <EditText 
        android:layout_width="fill_parent" 
        android:id="@+id/editText1" 
        android:layout_alignParentLeft="true" 
        android:hint="Tap to enter title"
        android:layout_marginTop="5dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1">
    </EditText>

    <View 
        android:id="@+id/separator"         
        android:background="#ffffff"        
        android:layout_width = "fill_parent"
        android:layout_height="1dip"
        android:layout_centerVertical ="true"
        android:layout_below="@+id/editText1"/>

    <TextView 
        android:layout_width="wrap_content" 
        android:id="@+id/textView2" 
        android:text="From" 
        android:layout_alignParentLeft="true" 
        android:layout_height="wrap_content"
        android:layout_below="@+id/separator"
        android:layout_marginTop="5dp">
    </TextView>

    <Button 
        android:layout_width="wrap_content" 
        android:id="@+id/button1" 
        android:layout_alignParentLeft="true" 
        android:text="Button"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2">
    </Button>

    <Button 
        android:layout_width="wrap_content" 
        android:id="@+id/button2" 
        android:text="Button"
        android:layout_marginLeft="10dp"
        android:layout_alignTop="@+id/button1" 
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/button1"
        android:layout_below="@+id/button1">
    </Button>

    <View 
        android:id="@+id/separator1"        
        android:background="#ffffff"        
        android:layout_width = "fill_parent"
        android:layout_height="1dip"
        android:layout_centerVertical ="true"
        android:layout_below="@+id/button2"/>

    <TextView 
        android:layout_width="wrap_content" 
        android:id="@+id/textView3" 
        android:text="To" 
        android:layout_alignParentLeft="true" 
        android:layout_height="wrap_content"
        android:layout_below="@+id/separator1"
        android:layout_marginTop="5dp">
    </TextView>

    <Button 
        android:layout_width="wrap_content" 
        android:id="@+id/button3" 
        android:layout_alignParentLeft="true" 
        android:text="Button"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView3">
    </Button>

    <Button 
        android:layout_width="wrap_content" 
        android:id="@+id/button4" 
        android:text="Button"
        android:layout_marginLeft="10dp"
        android:layout_alignTop="@+id/button3" 
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/button3"
        android:layout_below="@+id/button3">
    </Button>

    <RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/relativeLayout1" 
        android:layout_alignParentBottom="true">

        <Button android:layout_width="wrap_content" android:id="@+id/button5" android:layout_alignParentBottom="true" android:text="Save" android:layout_height="wrap_content"></Button>
        <Button android:layout_width="wrap_content" android:id="@+id/button6" android:layout_alignParentBottom="true" android:text="Cancel" android:layout_height="wrap_content" android:layout_toRightOf="@+id/button5"></Button>
    </RelativeLayout>


</RelativeLayout>

Ответы [ 5 ]

1 голос
/ 24 февраля 2011

Вы можете настроить вес кнопки, используя android:layout_weight

Вот пример того, как ее использовать: http://android.amberfog.com/?p=328

1 голос
/ 24 февраля 2011

для кнопок, помеченных 'image 1', вы можете установить фиксированную ширину, например '16dip', т. Е.

<Button 
        android:layout_width="16dip" 
        android:id="@+id/button1" 
        android:layout_alignParentLeft="true" 
        android:text="Button"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2">
    </Button>

для кнопок ниже, которые вы можете добавить в LinearLayout горизонтально, с 0 шириной и значением веса

    <Button 
            android:layout_width="0dip" 
            android:layout_weight="1" 
            android:id="@+id/button4" 
            android:text="Button"
            android:layout_marginLeft="10dp"
            android:layout_alignTop="@+id/button3" 
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/button3"
            android:layout_below="@+id/button3">
        </Button>
0 голосов
/ 24 февраля 2011

В методе Activity onCreate () после настройки представления содержимого выполните следующие действия.

findViewById(R.id.button1).setWidth(findViewById(R.id.button5).getWidth());
findViewById(R.id.button2).setWidth(findViewById(R.id.button6).getWidth());

и дайте мне знать, если это работает.

0 голосов
/ 24 февраля 2011

Я думаю, что ваша проблема в том, что у вас не то же самое с вашим XML-кодом?

Вы должны использовать android:layout_weight

если вы хотите, чтобы кнопка занимала одно и то же место (кнопка отмены и действительная кнопка на вашем изображении), вы должны поставить android:layout_weight="1" для обоих, например

0 голосов
/ 24 февраля 2011

Вы можете просто использовать горизонтальную линейную разметку.Для первого выпуска вы должны установить значения «веса» для ваших кнопок в XML-файле макета

...