經過大量搜索線性佈局以及如何使用線性佈局完成位置任務之後,我發現了大量問題,並且流行答案是「使用相對佈局」。瞭解Android線性佈局
我想深入瞭解線性佈局,並且難以找到解決方案,解決了我認爲應該很簡單的任務。另外一個有意義的解決方案似乎很合理。
如果我正在考慮將屏幕作爲一個tic tac toe板,並且想要在每個位置放置一個按鈕,我怎麼可以這樣做而不依賴於上一個按鈕的堆疊或邊距的寬度。
例如,如果我想跳過廣場上的一個點,我跳過的點將保持空白。
{1} {2} {3}
{4} {5} {6}
{7} {8} {9}
從我讀我的XML應該放置我的按鈕1 3 5 7 9 但這不是結局。
<?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="wrap_content"
android:orientation="vertical"
android:id="@+id/myLayout" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/Button1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:text="@string/btn1" />
<Button
android:id="@+id/Button2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:text="@string/btn2" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/Button3"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/btn3" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/Button4"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:text="@string/btn4" />
<Button
android:id="@+id/Button5"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:text="@string/btn5" />
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/background"
android:background="@drawable/background"/>
</LinearLayout>
我的結果是,
{1} {2} { }
{ } {5} { }
{7} {8} { }
我如此接近擁有下來! (我認爲...)
我錯過了什麼2和8移動到正確的一個空間?我沒有按照指示使用線性佈局嗎?
這是我的目標。
{1} { } {2}
{ } { } { }
{ } { } { }
{ } {3} { }
{ } { } { }
{ } { } { }
{4} { } {5}
如果你有你爲什麼不使用'RelativeLayout'或'FrameLayout',而不是'LinearLayout'這麼多的水平和垂直的看法? –
因爲我正在嘗試學習如何使用線性佈局。 – wuno
這種佈局會對性能產生影響,因爲計算每個佈局的屏幕密度需要花費一些時間,並且有太多的佈局。更好地嘗試不同的方法學習'LinearLayouts'。 –