嗨我的应用程序在不同的设备上看起来不同我使用Samsung Galagy S2作为我的测试设备,但当我尝试将应用程序安装到另一台设备Samsung Galaxy Note 3时。
显示分辨率: 三星Galaxy S2:800x480(hdp) 三星galaxz Note 3:1920x1080(xxhdp)
我的应用查看: 三星Galaxy S2就像THIS 三星galaxy Note 3如THIS
正如你在第一张图片中看到的那样它看起来不错但是在Note 3上,app底部有很多空白区域。我使用的所有图像也是xxhdp和hdp。问题在于按钮之间的差距。我在dp中设置它,所以我想在每个设备中它看起来都像在我的手机中。但是在星系S2和星系注3中它看起来相同。
这是我的布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linearLayoutHA"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background" >
<RelativeLayout
android:id="@+id/relativeLayoutHA"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/infoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:minWidth="0dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/info"
/>
<Button
android:id="@+id/facebookButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:minWidth="0dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/infoButton"
android:layout_marginRight="5dp"
android:background="@drawable/facebook"
/>
<Button
android:id="@+id/emailButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:minWidth="0dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/facebookButton"
android:layout_marginRight="5dp"
android:background="@drawable/email"
/>
</RelativeLayout>
<Button
android:id="@+id/animal"
android:layout_width="200dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:background="@drawable/shape_button"
android:drawableLeft="@drawable/animal_pic"
android:text="Animals" />
<Button
android:id="@+id/insect"
android:layout_width="200dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/shape_button"
android:drawableLeft="@drawable/insect"
android:text="Insects" />
<Button
android:id="@+id/nature"
android:layout_width="200dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/shape_button"
android:drawableLeft="@drawable/nature"
android:text="Nature" />
<Button
android:id="@+id/people"
android:layout_width="200dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/shape_button"
android:drawableLeft="@drawable/people"
android:text="People" />
<Button
android:id="@+id/gun"
android:layout_width="200dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="@drawable/shape_button"
android:drawableLeft="@drawable/gun"
android:text="Guns" />
</LinearLayout>
答案 0 :(得分:3)
您应该使用LinearLayout覆盖所有垂直按钮,并将此LinearLayout的layout_height设置为match_parent。在此LinearLayout中,将每个按钮的layout_weight设置为相同的值(例如:1),将layout_height设置为0dp
答案 1 :(得分:0)
您必须使用dimen创建高度和宽度。为值-v11创建一个维度,值-v14,值-sw600dp值布局,并根据布局和检查设置高度和宽度。
答案 2 :(得分:0)
我也有同样的问题,但我通过为同一活动创建3种不同的布局来解决它。
您不必费心分配首选布局,Android设备选择最适合其屏幕的布局。我的回答似乎是额外的工作,但如果你想在不同的屏幕尺寸上拥有一致的视图,那么它是最优选的。阅读documentation。