我在RelativeLayout上放置了按钮和imageView,这些按钮完全放在Nexus 5上:How it looks on Nexus 5
但是在Nexus One上,它发生了很大变化:How it looks on Nexus One
这是我的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:srcCompat="@drawable/main_menu_top" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/main_menu_center"
android:layout_below="@+id/imageView6" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/imageView6">
</RelativeLayout>
<Button
android:id="@+id/top_left_button"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/imageView6"
android:layout_marginLeft="77dp"
android:layout_marginStart="77dp"
android:layout_marginTop="38dp"
android:background="@drawable/button_main_menu_port"
android:text="Example" />
<Button
android:id="@+id/top_right_button"
android:layout_width="105dp"
android:layout_height="105dp"
android:background="@drawable/button_main_menu_port"
android:text="Example"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="80dp"
android:layout_marginEnd="80dp"
android:layout_alignBottom="@+id/top_left_button" />
<Button
android:id="@+id/bot_left_button"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_alignLeft="@+id/top_left_button"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/top_left_button"
android:layout_marginBottom="39dp"
android:background="@drawable/button_main_menu_port"
android:text="Example" />
<Button
android:id="@+id/bot_right_button"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_alignBottom="@+id/bot_left_button"
android:layout_alignLeft="@+id/top_right_button"
android:layout_alignStart="@+id/top_right_button"
android:background="@drawable/button_main_menu_port"
android:lines="2"
android:maxLines="2"
android:minLines="2"
android:text="Example" />
</RelativeLayout>
</LinearLayout>
但是,这些按钮需要位于此图像中菱形的位置。
答案 0 :(得分:0)
您已使用func_get_args
布局fixed
和width
作为按钮,并使用height
布局fixed
。固定值会导致问题,因为margins
和resolution
的{{1}}不同。
<强>解决方案:强>
您可以将[{1}}与属性Nexus Five
一起使用,并使用Nexus One
按钮代替固定LinearLayout
和android:weightSum
。