我想要GridLayout
在Android Studio 1.5中創建一個佈局。最初的XML文件如下:如何理解Android中的GridLayout?
<?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false"
android:columnCount="10"
android:background="#cccccc"
>
<TextView
android:text="Title"
android:textSize="32dip"
android:layout_columnSpan="10"
android:layout_gravity="center_horizontal"
android:id="@+id/textView1"
android:layout_row="0"
android:layout_column="0" />
<TextView
android:text="@string/new_name"
android:layout_gravity="right"
android:layout_row="2"
android:layout_column="0"
/>
<EditText
android:ems="6"
android:singleLine="true"
android:inputType="textCapWords"
android:id="@+id/new_name"
android:layout_row="2"
android:layout_column="1" />
<ImageButton
android:src="@mipmap/ic_backspace_black_24dp"
android:id="@+id/clear_line"
android:layout_row="2"
android:layout_column="8"
/>
<Button
android:text="Search"
android:id="@+id/new_search"
android:background="@color/colorPrimaryDark"
android:layout_column="9"
android:layout_row="2" />
<TextView
android:text="@string/new_label"
android:layout_gravity="right"
android:layout_row="3"
android:layout_column="0" />
<EditText
android:ems="6"
android:singleLine="true"
android:inputType="textCapWords"
android:id="@+id/new_label"
android:layout_row="3"
android:layout_column="1" />
______
<TextView
android:layout_column="0"
android:text="Row3"
android:layout_gravity="right"
/>
<EditText
android:ems="7"
android:singleLine="true"
android:id="@+id/Row3"
android:inputType="numberDecimal"
android:layout_row="4"
android:layout_column="1" />
<TextView
android:layout_column="0"
android:text="Row4"
android:layout_gravity="right"
android:layout_row="5" />
<EditText
android:ems="7"
android:singleLine="true"
android:id="@+id/Row5"
android:inputType="number"
android:layout_row="5"
android:layout_column="1" />
<Space
android:layout_row="4"
android:layout_column="0"
android:layout_columnSpan="3"
android:layout_gravity="fill"
/>
<Button
android:text="Cancel"
android:id="@+id/new_cancel"
android:background="@color/colorPrimaryDark"
android:layout_row="10"
android:layout_column="0"
/>
<Button
android:text="Ok"
android:id="@+id/new_ok"
android:background="@color/colorPrimaryLight"
android:layout_row="10"
android:layout_column="9"
/>
</GridLayout>
其中,在預覽,呈現類似如下:
然而,我的手機上我看到,退格重疊有所用「名稱」的文本輸入框。這是我的手機還是Android Studio的問題?
我改變佈局的第一個輸入框,如下所示:
<EditText android:singleLine="true" android:inputType="textCapWords" android:id="@+id/new_name" android:columnCount="4" android:layout_row="2" android:layout_column="1" />
這使得實際的輸入框很小,雖然我已經指定columnCount="4"
。這個屬性似乎沒有在這裏任何影響:
- 我恢復這一變化,並嘗試進行如下調整退格圖像的大小:
<ImageButton android:src="@mipmap/ic_backspace_black_24dp" android:id="@+id/clear_line" android:layout_row="2" android:layout_column="8" android:minHeight=4 android:minWidth=4 android:maxHeight=4 android:maxWidth=4 />
但它不會更改退格圖像的大小。我還可以設置成數字paranthesis,這會觸發一個錯誤:
`Cannot resolve symbol '4'`
每隔數可以把括號,但不是在這裏?
這有什麼邏輯嗎?還是人們在創建android框架時關閉了邏輯?有人能解釋我與那些沒有味道的東西嗎?以及如何更改退格圖像的大小?我查看了ImageButton doc,但找不到任何邏輯屬性,如「大小」...!