支持多种屏幕尺寸的Android 4及以上的Android

问题描述:

我已经设计的应用程序,而不必遵循布局支持多种屏幕尺寸的Android 4及以上的Android

layout-sw320dp 
layout-sw480dp 
layout-sw600dp 
layout-sw720dp 

和可拉伸作为

drawable-sw320dp 
drawable-sw480dp 
drawable-sw600dp 
drawable-sw720dp 

这里屏幕看起来不同星系关系和关系7,但只支持sw320dp。 我将如何使android版本4及以上版本的所有屏幕尺寸的应用程序支持。需要指定哪些布局和可绘制以支持所有屏幕尺寸。这是我的第一个应用程序友善的帮助。

布局代码

<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:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:background="@drawable/back" 
tools:context="com.example.ethernetvoicedemoapp.MainActivity" > 

<Button 
    android:id="@+id/button1" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button4" 
    android:layout_alignStart="@+id/button4" 
    android:layout_below="@+id/button4" 
    android:layout_marginTop="25dp" 
    android:textAllCaps="false" 
    android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene1" /> 

<Button 
    android:id="@+id/button2" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button1" 
    android:layout_alignStart="@+id/button1" 
    android:layout_below="@+id/button1" 
    android:layout_marginTop="25dp" 
    android:textAllCaps="false" 
     android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene3" /> 

<Button 
    android:id="@+id/button3" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button2" 
    android:layout_alignStart="@+id/button2" 
    android:layout_below="@+id/button2" 
    android:layout_marginTop="25dp" 
    android:textAllCaps="false" 
     android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene5" /> 

<Button 
    android:id="@+id/button5" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_above="@+id/button1" 
    android:layout_marginLeft="45dp" 
    android:layout_marginStart="45dp" 
    android:layout_toRightOf="@+id/button4" 
    android:layout_toEndOf="@+id/button4" 
    android:textAllCaps="false" 
    android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/off" /> 

<Button 
    android:id="@+id/button6" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button5" 
    android:layout_alignStart="@+id/button5" 
    android:layout_alignTop="@+id/button1" 
    android:textAllCaps="false" 
     android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene2" /> 

<Button 
    android:id="@+id/button7" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button6" 
     android:layout_alignStart="@+id/button6" 
    android:layout_alignTop="@+id/button2" 
    android:textAllCaps="false" 
     android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene4" /> 

<Button 
    android:id="@+id/button8" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignLeft="@+id/button7" 
     android:layout_alignStart="@+id/button7" 
    android:layout_alignTop="@+id/button3" 
    android:textAllCaps="false" 
     android:textColor="#FFFFFF" 
    android:background="@drawable/buttonshape" 
    android:text="@string/scene6" /> 

<Button 
    android:id="@+id/button4" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="80dp" 
    android:layout_height="48dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="62dp" 
    android:layout_marginStart="44dp" 
    android:layout_marginTop="139dp" 
    android:background="@drawable/buttonshape" 
    android:text="@string/on" 
    android:textAllCaps="false" 
    android:textColor="#FFFFFF" /> 

    <ImageButton 
    android:id="@+id/imageButton1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/button3" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="30dp" 
    android:background="@null" 
    android:contentDescription="@string/mic" 
    android:src="@drawable/mic" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/imageButton1" 
    android:layout_centerHorizontal="true" 
    android:text="@string/tap" 
    android:textColor="#FFFFFF" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="50dp" 
    android:text="@string/control" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="#FFFFFF" 
    android:textStyle="bold" /> 


</RelativeLayout> 
+0

什么可能是这个问题的答案。任何建议 – sup

正在发生,因为你的布局是完美密度的基础上,但无论是手机有不同的屏幕尺寸。

而不是使用不同的布局,你可以动态地改变布局PARAMS按使用类DisplayMetrics

的屏幕尺寸(宽度和高度)在没有看到布局我不禁比这更多。

+0

我编辑了我的代码 – sup

+0

我们可以改变布局参数,但如何放置按钮。我希望它是相同的在这两个 – sup

+0

您可以一个使用LinearLayout和权重的布局。通过这种方式,您的布局对于所有屏幕尺寸和密度将保持不变 – YashikaK