在android中支持Android 4及以上版本的多种屏幕尺寸

时间:2016-01-19 05:38:21

标签: android android-layout

我设计的应用程序没有遵循布局

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

和drawable as

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

这里的屏幕看起来与galaxy nexus和nexus 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>

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您的布局在密度的基础上是完美的,但两款手机都有不同的屏幕尺寸。

您可以使用类DisplayMetrics

根据屏幕尺寸(宽度和高度)动态更改布局参数,而不是使用不同的布局

在没有看到布局的情况下,我无能为力。