2012-05-11 2 views
0

например, имея одинаковое пространство между ними, не изменяя их размеры.Непосредственно вертикально разнесенная кнопка

Например: топ-20dp кнопка-20dp кнопка-20dp (20 показан пример, я не хочу использовать дп)

Я попытался это не повезло:

<?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> 

THKS за вашу помощь!

+0

Можете ли вы быть более явным? Я не совсем понимаю, в чем ваш вопрос ... – ChristopheCVB

ответ

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> 

Я основано это от единственного описания вы предоставили:

Например: топ-20dp-кнопку- 20dp кнопка-20dp

Еще раз вы можете использовать дп, SP или ничего, что вы хотите; понимаем, что dp означает не зависящий от плотности пиксель. Опять Supporting Multiple Screens и More Resource Types очень хорошо описывают это, вы увидите, что dp относительный. В нем также описывается разница между dp или dip, которая равна не dpi.

Также обратите внимание, что я изменил предложение дополнений на корректировку поля, я ошибся в первый раз, но с таким неопределенным вопросом это было всего лишь предположение. Я надеюсь, что это поможет, иначе опубликуйте четкую картину того, чего вы надеетесь достичь. Удачи!

+0

Пожалуйста, снова прочтите мой quesiton, я не хочу использовать dp. Я хочу, чтобы он оставался относительным. – Huberte

+0

Используйте все, что захотите ... Но dp относительный, [Поддержка нескольких экранов] (http://developer.android.com/guide/practices/screens_support.html) – Sam

+0

Действительно, Сэм? Я думал, что на экране с разрешением 300 точек на дюйм, это будет не центр .... – Huberte

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> 
0

Спасибо к Кости, вот как раз :)

<?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> 
+0

Просто странное предупреждение от Eclipse (вложенные веса плохи для производительности), почему? – Huberte

Смежные вопросы