简体   繁体   中英

Creating layout for tablet and phone android

Ok, so, I have read a lot about creating layout for android devices. I thought I was on the right path when I wasnt. My situation is next:

I created layout-normal, layout-normal-land, layout-small, layout-small-land, etc... Then, I got values-normal-ldpi, values-normal-mdpi, and all the other qualifiers. I put the dimensions in those folders and in my layout, I use just them. Here is my layout code:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#e8e8e8"
    android:orientation="vertical">


    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbarMainScreen"
        android:layout_width="match_parent"
        android:layout_height="@dimen/visinaHeadera"
        android:background="#1d6cb5"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/Widget.AppCompat.Toolbar">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="@drawable/senkaokoikonica"
            android:scaleType="center"
            android:src="@drawable/homeicon" />

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

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginLeft="@dimen/razmakOdHomeDoTexta"
                android:layout_weight="1"
                android:paddingTop="@dimen/marginaTextaZaIspisuHeaderu"
                android:text="Akcije i katalozi"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textSize="15sp"
                android:typeface="sans" />


            <ImageButton
                android:id="@+id/imageButtonOtvoriSearch"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:background="@drawable/search_klik"
                android:scaleType="center"
                android:src="@drawable/searchicon" />

            <View
                android:layout_width="@dimen/razmakIzmedjuLupeIShare"
                android:layout_height="match_parent" />

            <ImageButton
                android:id="@+id/shareButtonKataloziMainScreen"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:background="@drawable/senkaokoikonica"
                android:scaleType="center"
                android:src="@drawable/shareicon" />

            <View
                android:layout_width="@dimen/razmakIzmedjuLupeIShare"
                android:layout_height="match_parent" />

            <ImageButton
                android:id="@+id/settingsButtonMainScreen"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:background="@drawable/senkaokoikonica"
                android:scaleType="center"
                android:src="@drawable/settingsicon" />

            <View
                android:layout_width="@dimen/razmakIzmedjuSettingsIDesnogKraja"
                android:layout_height="match_parent" />


        </LinearLayout>


    </android.support.v7.widget.Toolbar>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="3.33dp"
        android:layout_below="@+id/toolbarMainScreen"
        android:background="@drawable/headshad480" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="3.33dp"
        android:layout_below="@+id/linearLayoutZaSearchMainScreen"
        android:background="@drawable/headshad480"
        android:visibility="invisible" />


    <LinearLayout
        android:id="@+id/linearLayoutZaSearchMainScreen"
        android:layout_width="match_parent"
        android:layout_height="@dimen/visinaDrugogHeadera"
        android:layout_below="@+id/toolbarMainScreen"
        android:background="@drawable/searchbg"
        android:orientation="horizontal"
        android:visibility="invisible">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/searchbg">

            <EditText
                android:id="@+id/editTextMainScreen"
                android:layout_width="match_parent"
                android:layout_height="@dimen/editTextSearchVisina"
                android:layout_marginBottom="@dimen/editTextMarginaBot"
                android:layout_marginLeft="@dimen/editTextMarginaLeft"
                android:layout_marginRight="@dimen/editTextMarginaRight"
                android:layout_marginTop="@dimen/editTextMarginaTop"
                android:layout_weight="1"
                android:background="@drawable/edittext_conrer"
                android:hint="Pretraga"
                android:textColor="#000000"
                android:textColorHint="#000000"
                android:textStyle="italic" />
        </LinearLayout>


        <ImageButton
            android:id="@+id/imageButtonSearch"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/searchButtSearchVisina"
            android:layout_gravity="right"
            android:layout_marginBottom="@dimen/searchButtMarginaBot"
            android:layout_marginRight="@dimen/searchButtMarginaRight"
            android:layout_marginTop="@dimen/searchButtMarginaTop"
            android:background="@drawable/search_klik"
            android:scaleType="center"
            android:src="@drawable/searchiconkrug" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_above="@+id/linearLayoutZaReklameMainScreen"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/toolbarMainScreen"
        android:layout_weight="1"
        android:baselineAligned="false"
        android:orientation="vertical">


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">


                <ImageButton
                    android:id="@+id/buttonProdavci"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginBottom="@dimen/marginIzmedjuSlika"
                    android:layout_marginLeft="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginRight="@dimen/marginIzmedjuSlika"
                    android:layout_marginTop="@dimen/marginTopZaGornjeSlike"
                    android:layout_weight="1"
                    android:background="@drawable/prodavci"
                    android:scaleType="center" />


            </LinearLayout>


            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">


                <ImageButton
                    android:id="@+id/buttonProizvodi"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginBottom="@dimen/marginIzmedjuSlika"
                    android:layout_marginLeft="@dimen/marginIzmedjuSlika"
                    android:layout_marginRight="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginTop="@dimen/marginTopZaGornjeSlike"
                    android:layout_weight="1"
                    android:background="@drawable/proizvodi"
                    android:scaleType="center" />


            </LinearLayout>


        </LinearLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">


            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">

                <ImageButton
                    android:id="@+id/buttonBarkod"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginBottom="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginLeft="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginRight="@dimen/marginIzmedjuSlika"
                    android:layout_marginTop="@dimen/marginIzmedjuSlika"
                    android:layout_weight="1"
                    android:adjustViewBounds="true"
                    android:background="@drawable/barcode"
                    android:scaleType="center" />


            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">


                <ImageButton
                    android:id="@+id/buttonSviKatalozi"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_centerHorizontal="true"
                    android:layout_marginBottom="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginLeft="@dimen/marginIzmedjuSlika"
                    android:layout_marginRight="@dimen/marginIzmedjuSlikaIZida"
                    android:layout_marginTop="@dimen/marginIzmedjuSlika"
                    android:layout_weight="1"
                    android:adjustViewBounds="true"
                    android:background="@drawable/svikatalozi"
                    android:scaleType="center" />


            </LinearLayout>


        </LinearLayout>


    </LinearLayout>


    <LinearLayout
        android:id="@+id/linearLayoutZaReklameMainScreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center|bottom">

        <com.google.android.gms.ads.AdView
            android:id="@+id/adViewMainScreen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="bottom|center"
            ads:adSize="BANNER"
            ads:adUnitId="@string/aik_ad_unit_id"></com.google.android.gms.ads.AdView>


    </LinearLayout>


    <LinearLayout
        android:id="@+id/lejoutZaTransparentonstMainScreen"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/toolbarMainScreen"
        android:alpha=".35"
        android:background="#000000"
        android:orientation="horizontal"
        android:visibility="invisible" />


</RelativeLayout>

Still, when I test it on my device(Samsung Galaxy s2 plus) it looks very good. WHen I test it on Nexus 5, it doesnt look even close.

Any suggestions on how to create adequate number of layout for the best solution for phones and tablets?

You can use these layouts to support all screen sizes:

layout # For handsets (smaller than 600dp available width)

layout-sw600dp # For 7” tablets (600dp wide and bigger)

layout-sw720dp # For 10” tablets (720dp wide and bigger)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM