我想知道如何设置我的应用程序内容,以便可以在至少3.5英寸设备中修复它们。
在如此小尺寸的设备(4英寸)中看起来像这样。
如该图所示,所有四个图像按钮彼此重叠。 7英寸屏幕看起来不错。
有什么方法可以解决这个问题吗?
这是我的布局:
<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:background="@drawable/bg2"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".StartActivity" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:background="@null"
android:layout_marginLeft="24dp"
android:src="@drawable/abc" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:background="@null"
android:layout_marginRight="24dp"
android:src="@drawable/nmbrs" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@null"
android:layout_marginLeft="24dp"
android:layout_marginBottom="10dp"
android:src="@drawable/vegebtns" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@null"
android:layout_marginRight="24dp"
android:layout_marginBottom="10dp"
android:src="@drawable/fruitsbtn" />
</RelativeLayout>
答案 0 :(得分:0)
android:layout_width="@dimens/name"
更好地引用http://developer.android.com/guide/practices/screens_support.html
答案 1 :(得分:0)
使用如下所示的每个图像按钮
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@null"
android:layout_marginRight="24dp"
android:layout_marginBottom="10dp"
android:src="@drawable/fruitsbtn" />
答案 2 :(得分:0)
如果要根据屏幕大小(而不是dpi)更改某些图像或大小,可以使用以下方法:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
if(screenInches > sizeYouWant){
//do what you want
}