我的项目不支持多个设备的屏幕视图

时间:2014-09-03 12:22:22

标签: android xml size screen

我有一个menucreen XML。当我打开项目宽屏时它不适应所有屏幕尺寸。我怎样才能克服这个问题。

当我想添加关于这个问题的图片时,我想我需要10个代表。点:))

有人可以帮助我吗?

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/samsun"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:text="@string/samsun"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/trabzon"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:text="@string/trabzon"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/adana"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:text="@string/adana"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/antalya"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:text="@string/antalya"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/izmir"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/izmir"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/bursa"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/bursa"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/istanbul1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/gayrettepe"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/istanbul2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/acibadem"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/erzurum"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/erzurum"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/diyarbakir"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/diyarbakir"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/ankara"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/ankara"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/kayseri"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/kayseri"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/alcatel"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/alcatel"
            android:textColor="#FFFF" />

        <Button
            android:id="@+id/huawei"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/huawei"
            android:textColor="#FFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/backbone"
            android:layout_width="fill_parent"
            android:layout_height="150dp"
            android:background="@drawable/selector"
            android:padding="10dp"
            android:text="@string/backbone"
            android:textColor="#FFFF" />



    </LinearLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:1)

在android中,为了支持尽可能多的设备,您可以提供一个布局的多个定义。首先,您需要将这些文件夹添加到资源中,对于每个文件夹,您可以指定相同布局的不同xml文件,以满足您希望应用程序使用的设备屏幕。

以下是文件夹结构的示例:

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/layout/main_activity.xml           // For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   // For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   // For 10” tablets (720dp wide and bigger)

(在应用清单中)

<supports-screens 
        android:smallScreens="true" 
        android:normalScreens="true" 
        android:largeScreens="true"
        android:xlargeScreens="true"  
        android:anyDensity="true"/>

有关支持多个屏幕的更多信息,我强烈建议您阅读有关它的Google文档。 Here是文档的链接。 http://developer.android.com/guide/practices/screens_support.html

答案 1 :(得分:0)

声明尺寸值 - 小,值 - 大,值 - xlarge等。

不要忘记在AndroidManifest.xml中声明支持屏幕

 <supports-screens 
        android:smallScreens="true" 
        android:normalScreens="true" 
        android:largeScreens="true"
        android:xlargeScreens="true"  
        android:anyDensity="true"/>

获取更多信息,请http://developer.android.com/guide/practices/screens_support.html

答案 2 :(得分:0)

在Android中,您必须根据屏幕尺寸在不同的不同绘图中设置图像,并根据屏幕尺寸进行布局。

res/layout/my_layout.xml(drawable also like layout) ---- default layout. 
res/layout-layout-hdpi/my_layout.xml ---- layout for hdpi screen size 
res/layout-layout-large-hdpi/my_layout.xml ---- layout for large hdpi screen size 
res/layout-layout-mdpi/my_layout.xml ---- layout for mdpi screen size(normal tables also) 
res/layout-layout-Xdpi/my_layout.xml ---- layout for Xhdpi screen Size(high resolution)

答案 3 :(得分:0)

You can proceed as following

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density


<supports-screens 
        android:smallScreens="true" 
        android:normalScreens="true" 
        android:largeScreens="true"
        android:xlargeScreens="true"  
        android:anyDensity="true"/>