2013-12-20 4 views
1

CalculatorКак можно достичь такого типа макета экрана?

Я почти закончил с полным представлением, но проблема возникает, когда я положил кнопку «=». Я использовал 6 линейных макетов по горизонтали для каждой строки.

Но я не могу понять, как «=» может занимать пространство из обоих макетов! Как можно реализовать?

Например, чтобы сделать мой вопрос более понятным, чтобы реализовать кнопку 0, я мог бы это сделать, указав это пространство! Но ничего не может придумать для кнопки «=»!

Или я должен объявить вертикальный столбец, начинающийся с M-, как линейный макет с «вертикальной»? Но тогда возникает еще один вопрос! Как этот макет может занимать всего 10% всего экрана?

Заранее спасибо

Вот мой код!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:gravity="center"> 
    <Button 
     android:id="@+id/bBackspace" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/backspace" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/bCE" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/CE" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/bClear" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/clear" 
     android:onClick="onButtonPress" 
    /> 
    <Button 
     android:id="@+id/bSign" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/sign" 
     android:onClick="onButtonPress" 
    /> 
</LinearLayout> 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:gravity="center"> 
    <Button 
     android:id="@+id/b7" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/seven" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/b8" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/eight" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/b9" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/nine" 
     android:onClick="onButtonPress" 
    /> 
    <Button 
     android:id="@+id/bDiv" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/div" 
     android:onClick="onButtonPress" 
    /> 
</LinearLayout> 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:gravity="center"> 
    <Button 
     android:id="@+id/b4" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/four" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/b5" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/five" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/b6" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/six" 
     android:onClick="onButtonPress" 
    /> 
    <Button 
     android:id="@+id/bMul" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:onClick="onButtonPress" 
     android:text="@string/mul" 
    /> 
</LinearLayout> 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:gravity="center"> 
    <Button 
     android:id="@+id/b1" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:onClick="onButtonPress" 
     android:text="@string/one" 
    /> 
     <Button 
     android:id="@+id/b2" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/two" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/b3" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/three" 
     android:onClick="onButtonPress" 
    /> 
    <Button 
     android:id="@+id/bSub" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:text="@string/sub" 
     android:onClick="onButtonPress" 
    /> 
</LinearLayout> 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 
     <Button 
     android:id="@+id/b0" 
     android:layout_height="fill_parent" 
     android:layout_width="110dp" 
     android:text="@string/zero" 
     android:onClick="onButtonPress" 
    /> 
     <Button 
     android:id="@+id/bPoint" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:onClick="onButtonPress" 
     android:text="@string/point" 
    /> 
     <Button 
     android:id="@+id/bAdd" 
     android:layout_height="fill_parent" 
     android:layout_width="55dp" 
     android:onClick="onButtonPress" 
     android:text="@string/add" 
    /> 
</LinearLayout> 

<LinearLayout 
    android:orientation = "horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 
     <Button 
     android:id="@+id/bEquals" 
     android:layout_height="fill_parent" 
     android:layout_width="110dp" 
     android:text="@string/equals" 
     android:onClick="onButtonPress" 
    /> 

</LinearLayout> 

+0

'Но вы можете открыть калькулятор в Win 7', если мы не в операционной системе Linux. : D Отредактировал ваш вопрос с изображением. – tilpner

ответ

2

Используйте TableLayout вместо этого. Он работает так же, как и таблицы HTML: вы можете указать определенные ячейки для растягивания по нескольким столбцам или строкам.

Вы будете использовать что-то вроде этого: android:layout_span="2"

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