对此有很多不同的建议但是它们似乎都没有用(虽然我可能做错了)布局:重力等等。
我希望在屏幕底部绘制按钮,而不是在屏幕顶部的默认位置绘制按钮。我确信有一种简单的方法可以做到。
目前,按钮在顶部绘制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:game_view="http://schemas.android.com/apk/res/pap.crowslanding"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<FrameLayout
android:id="@+id/flayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/button1"
android:orientation="vertical" >
<pap.crowslanding.GameView
android:id="@+id/game_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
game_view:ballDiam="@dimen/ballDiam"
game_view:cellWidth="@dimen/cellWidth"
game_view:pixelHeight="@dimen/pixelHeight"
game_view:pixelWidth="@dimen/pixelWidth" />
<pap.crowslanding.MazeBall
android:id="@+id/mazeball"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="invisible"
game_view:ballDiam="@dimen/ballDiam"
game_view:cellWidth="@dimen/cellWidth" />
</FrameLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:text="@string/right" >
</Button>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/down" />
</LinearLayout>
答案 0 :(得分:3)
父容器是RelativeLayout
,因此您只需要将android:android:layout_alignParentBottom=true
添加到LinearLayout
并删除layout_gravity
属性。
答案 1 :(得分:0)
您可以尝试以下方法:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:game_view="http://schemas.android.com/apk/res/pap.crowslanding"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<FrameLayout
android:id="@+id/flayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/button1"
android:orientation="vertical" >
<pap.crowslanding.GameView
android:id="@+id/game_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
game_view:ballDiam="@dimen/ballDiam"
game_view:cellWidth="@dimen/cellWidth"
game_view:pixelHeight="@dimen/pixelHeight"
game_view:pixelWidth="@dimen/pixelWidth" />
<pap.crowslanding.MazeBall
android:id="@+id/mazeball"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible"
game_view:ballDiam="@dimen/ballDiam"
game_view:cellWidth="@dimen/cellWidth" />
</FrameLayout>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/right" >
</Button>
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/down" />
</RelativeLayout>
然后,您需要调整按钮,使它们不在彼此的顶部(android:layout_toRightOf="@+id/button_name"
和android:layout_toLeftOf=...
)。我不知道你想要哪个左右。另外,您应该使用match_parent
代替fill_parent
。 API {8}中已弃用fill_parent
(我认为它是8,但我知道它已被弃用)。