Android - 支持不同的屏幕尺寸

时间:2014-06-19 15:15:05

标签: android xml android-layout screen

我已经看过this帖子,但它说的是我已经知道的事情。

我的问题是我的布局在不同尺寸的手机中以错误的方式伸展,但似乎设置不同的布局文件夹(布局 - 小/中/大)不起作用。

这是在大,中,小屏幕上看到的布局:http://imgur.com/a/nBdTU

正如您所看到的,主要问题是真假按钮。这是xml文件:

<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"
tools:context="com.example.quizone_v3.GameActivity1$PlaceholderFragment" >

<!-- Body -->

<Button
    android:id="@+id/btn_true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/btn_false"
    android:layout_alignLeft="@+id/g3"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/btn_false"
    android:layout_marginLeft="-10dp"
    android:background="@drawable/btn_true_bg"
    android:src="@drawable/barra_dx" />

<ImageView
    android:id="@+id/question_bar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="15dp"
    android:layout_marginRight="10dp"
    android:adjustViewBounds="true"
    android:src="@drawable/question_bar" />

<TextView
    android:id="@+id/question_tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/question_bar"
    android:layout_alignRight="@+id/question_bar"
    android:layout_alignTop="@+id/question_bar"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="13dp"
    android:layout_toRightOf="@+id/question_number"
    android:gravity="center"
    android:text="Allin v2"
    android:textColor="@android:color/primary_text_dark" />

<Button
    android:id="@+id/btn_false"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/info_tv"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/question_tv"
    android:layout_marginBottom="30dp"
    android:layout_marginTop="15dp"
    android:layout_marginRight="-10dp"
    android:layout_toLeftOf="@+id/g4"
    android:adjustViewBounds="true"
    android:background="@drawable/btn_false_bg"
    android:src="@drawable/barra_sx" />

<ImageView
    android:id="@+id/question_number"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/question_tv"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="-7dp"
    android:src="@drawable/nr_domanda_1" />

<!-- Info -->

<ImageView
    android:id="@+id/line_invi"
    android:layout_width="280dp"
    android:layout_height="1dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="42dp"
    android:visibility="invisible"
    android:src="@drawable/linea" />

<TextView
    android:id="@+id/info_tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/info_btn"
    android:layout_alignRight="@+id/line_invi"
    android:layout_alignTop="@+id/info_btn"
    android:layout_toRightOf="@+id/info_btn"
    android:layout_marginLeft="20dp"
    android:text="TextView" />

<!-- Progression -->

 <ImageView
    android:id="@+id/line"
    android:layout_width="280dp"
    android:layout_height="1dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="42dp"
    android:src="@drawable/linea" />

<ImageView
    android:id="@+id/g2"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g1"
    android:layout_marginRight="18dp"
    android:layout_toLeftOf="@+id/g3"
    android:src="@drawable/g2" />

<ImageView
    android:id="@+id/v2"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g1"
    android:layout_marginRight="18dp"
    android:layout_toLeftOf="@+id/g3"
    android:visibility="gone"
    android:src="@drawable/v2" />

<ImageView
    android:id="@+id/r2"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g1"
    android:layout_marginRight="18dp"
    android:layout_toLeftOf="@+id/g3"
    android:visibility="gone"
    android:src="@drawable/r2" />

<ImageView
    android:id="@+id/g3"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g4"
    android:layout_centerHorizontal="true"
    android:src="@drawable/g3" />

<ImageView
    android:id="@+id/v3"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g4"
    android:layout_centerHorizontal="true"
    android:visibility="gone"
    android:src="@drawable/v3" />

<ImageView
    android:id="@+id/r3"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g4"
    android:layout_centerHorizontal="true"
    android:visibility="gone"
    android:src="@drawable/r3" />

<ImageView
    android:id="@+id/g1"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/line"
    android:layout_marginRight="18dp"
    android:layout_marginTop="9dp"
    android:layout_toLeftOf="@+id/g2"
    android:src="@drawable/g1" />

<ImageView
    android:id="@+id/v1"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:visibility="gone"
    android:layout_alignTop="@+id/line"
    android:layout_marginRight="18dp"
    android:layout_marginTop="5dp"
    android:layout_toLeftOf="@+id/g2"
    android:src="@drawable/v1" />

<ImageView
    android:id="@+id/r1"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/line"
    android:layout_marginRight="18dp"
    android:layout_marginTop="5dp"
    android:visibility="gone"
    android:layout_toLeftOf="@+id/g2"
    android:src="@drawable/r1" />

<ImageView
    android:id="@+id/g4"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_marginLeft="18dp"
    android:layout_alignTop="@+id/g5"
    android:layout_toRightOf="@+id/g3"
    android:src="@drawable/g4" />

<ImageView
    android:id="@+id/v4"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_marginLeft="18dp"
    android:layout_alignTop="@+id/g5"
    android:layout_toRightOf="@+id/g3"
    android:visibility="gone"
    android:src="@drawable/v4" />

<ImageView
    android:id="@+id/r4"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_marginLeft="18dp"
    android:layout_alignTop="@+id/g5"
    android:layout_toRightOf="@+id/g3"
    android:visibility="gone"
    android:src="@drawable/r4" />

<ImageView
    android:id="@+id/g5"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g2"
    android:layout_marginLeft="18dp"
    android:layout_toRightOf="@+id/g4"
    android:src="@drawable/g5" />

<ImageView
    android:id="@+id/v5"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g2"
    android:layout_marginLeft="18dp"
    android:layout_toRightOf="@+id/g4"
    android:visibility="gone"
    android:src="@drawable/v5" />

<ImageView
    android:id="@+id/r5"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_alignTop="@+id/g2"
    android:layout_marginLeft="18dp"
    android:layout_toRightOf="@+id/g4"
    android:visibility="gone"
    android:src="@drawable/r5" />

<ImageView
    android:id="@+id/info_btn"
    android:layout_width="75dp"
    android:layout_height="75dp"
    android:layout_above="@+id/line_invi"
    android:layout_alignLeft="@+id/line_invi"
    android:layout_marginBottom="31dp"
    android:src="@drawable/ic_info" />

</RelativeLayout>

你知道我该如何解决这个问题吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

一种简单的方法是将您的相对布局放在ScrollView中。