嗨,我正在製作我的第一個android程序「計算器」。我使用的是相對佈局,而不是線性佈局,在模擬器中運行時發現了一些問題。與「相對佈局」相關的佈局問題
1)框架沒有居中在屏幕上。 2)一旦處於橫向模式,數字再次進入左側而不是居中。
我嘗試了很多方法,但問題仍然存在。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView"
android:background="#fbf8c9"
android:editable="true"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button13"
android:layout_alignEnd="@+id/button13"
android:layout_marginTop="63dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/button2"
android:layout_above="@+id/button5"
android:layout_toRightOf="@+id/button"
android:layout_toEndOf="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/button3"
android:layout_alignBottom="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/button4"
android:layout_below="@+id/button"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5"
android:id="@+id/button5"
android:layout_above="@+id/button8"
android:layout_toLeftOf="@+id/button3"
android:layout_toStartOf="@+id/button3" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6"
android:id="@+id/button6"
android:layout_below="@+id/button3"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7"
android:id="@+id/button7"
android:layout_below="@+id/button4"
android:layout_alignLeft="@+id/button4"
android:layout_alignStart="@+id/button4" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8"
android:id="@+id/button8"
android:layout_below="@+id/button4"
android:layout_toLeftOf="@+id/button6"
android:layout_toStartOf="@+id/button6" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="9"
android:id="@+id/button9"
android:layout_alignBottom="@+id/button8"
android:layout_toRightOf="@+id/button8"
android:layout_toEndOf="@+id/button8" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:id="@+id/button10"
android:layout_alignTop="@+id/button12"
android:layout_toLeftOf="@+id/button12"
android:layout_toStartOf="@+id/button12" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:id="@+id/button11"
android:layout_alignTop="@+id/button10"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:id="@+id/button12"
android:layout_below="@+id/button8"
android:layout_alignRight="@+id/button9"
android:layout_alignEnd="@+id/button9" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:id="@+id/button13"
android:layout_toRightOf="@+id/button3"
android:layout_alignTop="@+id/button3"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:id="@+id/button14"
android:layout_below="@+id/button3"
android:layout_toRightOf="@+id/button6"
android:layout_alignTop="@+id/button6" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10"
android:id="@+id/button15"
android:layout_toRightOf="@+id/button9"
android:layout_alignTop="@+id/button9" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20"
android:id="@+id/button16"
android:layout_alignTop="@+id/button12"
android:layout_toRightOf="@+id/button12"
android:layout_toEndOf="@+id/button12" />
</RelativeLayout>
</RelativeLayout>
請好心的人幫我解決這個問題..
使用'wrap_content',而不是'match_parent'爲你的內在RelativeLayout的寬度和高度。同時爲外層保留'match_parent'。所以它會和它的孩子的寬度和高度(加邊距)的總和一樣大,因此它可以集中在它的父親中。 –
感謝它工作....應用重力作爲另一個答案工作....任何更好的? – user3789200
爲什麼會倒下投票?我經過多次搜索後得到了答案?下次在投票和離開之前最好提及原因。 :D – user3789200