2012-03-08 2 views
1

Я работаю над компоновкой приложения Android, но я обнаружил, что все кнопки фиксируются в столбце Eclipse atuomatically. Что я должен сделать, чтобы сделать это в нужную позицию, как показано в ссылке? благодаряСоздание желаемого макета в Eclipse

http://www.dcemu.co.uk/vbulletin/threads/335622-Android-oscilloscope

+2

читать об относительных раскладках: http://developer.android.com/reference/android/widget/RelativeLayout.html, также вы можете Google для примеров - есть отличные решения :) Удачи – mihail

ответ

0

Вы можете получить 2 столбца кнопок, имеющих вертикальную LinearLayout, содержащий несколько горизонтальных LinearLayout с, каждая из которых содержит 2 кнопки. Дайте кнопкам равные веса, чтобы их равномерно распределить, и некоторый запас, чтобы заставить их выглядеть менее загроможденными.

E.g.

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

</LinearLayout> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
<Button 
    android:layout_width="0dp" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" 
    android:text="Button 3" /> 
<Button 
    android:layout_width="0dp" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" 
    android:text="Button 4" /> 
</LinearLayout> 
</LinearLayout> 

Или, если столбцы собирались очень долго, вы можете использовать горизонтальную линейную схему, содержащую 2 вертикальные линейные макеты, а также добавить кнопки для тех.

Или вы можете использовать TableLayout с 2 колонками и иметь TableRows, содержащий кнопки (я обычно считаю, что компоновка таблиц сложнее работать, возможно, это только я).

Мне легче писать xml в Eclipse, а не крутиться с графическим редактором, а затем просто переключаться на графический редактор каждый раз, чтобы проверить, показывает ли он, как вы хотите. Посмотрите вокруг онлайн на несколько примеров макетов, и вы скоро получите эту идею.

Чтобы точно подражать этому расположению, начинайте с RelativeLayout, как предлагает mihail, и используйте это для размещения других макетов (таких как линейный макет с кнопками) и видов.

1

Вы можете использовать RelativeLayout вместо LinearLayout в файле main.xml. В этом макете вы можете разместить компоненты в любом месте макета, но компоненты размещены relatively друг другу. Вы можете использовать смесь компоновки, чтобы ваше представление выглядело здорово. Также попробуйте использовать Layout Ориентацию т.е. либо по вертикали или по горизонтали,

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 
Смежные вопросы