所以,我试图在正确的位置获得四个按钮,但在模拟器上按钮都搞砸了。我在模拟器上使用与xml布局相同的设备。
XML图形布局
http://i.imgur.com/TvngX9j.png
模拟器布局
http://i.imgur.com/10ybR6K.png
XML代码
<RelativeLayout 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:background="@drawable/mainmenu" >
<Button
android:id="@+id/splay"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="256dp"
android:text="" />
<Button
android:id="@+id/mplay"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="322dp"
android:text="" />
<Button
android:id="@+id/menustat"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="389dp"
android:text="" />
<Button
android:id="@+id/menuset"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="455dp"
android:text="" />
</RelativeLayout>
知道为什么会这样吗?提前谢谢。
答案 0 :(得分:1)
您没有正确使用这些按钮。
为按钮提供所需的背景和文字。目前,您的按钮位于RelativeLayout的背景中。
答案 1 :(得分:0)
我相信“单人游戏”,“乘数”等是你背景图片的一部分。在模拟器中,由于您的高度和高度,您的按钮位置不能保持位置。 marginTop。
您应该使用单独的背景图像作为按钮而不是单个背景图像。这种方法并不好。
答案 2 :(得分:0)
你给保证金不合适所以试试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Gerfort's"
android:textSize="24sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rock,Paper & Scissros"
android:textSize="16sp"
android:layout_marginTop="10dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:orientation="vertical"
android:gravity="center">
<Button
android:id="@+id/splay"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="SingelPlayer" />
<Button
android:id="@+id/mplay"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Multiplayer" />
<Button
android:id="@+id/menustat"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Statistics" />
<Button
android:id="@+id/menuset"
android:layout_width="195dp"
android:layout_height="64dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="Settings" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
不在背景图像中绘制按钮,也许你可以在按钮中设置文本。您的代码将在不同的设备中变形。
另一方面,只需将每个按钮剪切成图像,然后将按钮设置为按钮。
无论如何,你应该首先从背景图像中删除你的按钮!