Mustafa Kayahan
Mustafa Kayahan

Reputation: 1

My project doesnt support multiple devices screen view

I have an menuscreen XML. When I open the project wide screen Its not adapted all screen size. How can I overcome this problem.

When I want to add picture about this problem I think I need 10 rep. point :)

Could anyone help me ?

<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>

Upvotes: 0

Views: 218

Answers (4)

Gopal Singh
Gopal Singh

Reputation: 1133

In android you have to set images in different different drawable as per screen size and make layout as per screen size also.

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)

Upvotes: 0

Chris
Chris

Reputation: 3338

In android, to support as much devices as possible, you can supply multiple definitions of one layout. First you need to add those folders into your resources, and for each one you can specify different xml files of the same layout to meet the device screens you want your app to be used on.

Here is an example on how the folder structure might look like:

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)

(in app manifest)

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

For more info on supporting multiple screens i strongly recommend reading the google docs about it. Here is a link to the documents. http://developer.android.com/guide/practices/screens_support.html

Upvotes: 1

Nabasree Suvasourya
Nabasree Suvasourya

Reputation: 164

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"/>

Upvotes: 0

Cjames
Cjames

Reputation: 1872

Declare your dimensions values-small,values-large,values-xlarge etc.

Don't forget to declare support-screens in your AndroidManifest.xml

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

Reffer to http://developer.android.com/guide/practices/screens_support.html for more info.

Upvotes: 0

Related Questions