java - 为平板电脑和手机 android 创建布局

标签 java android android-layout layout hdpi

好的,我已经阅读了很多有关为 Android 设备创建布局的内容。我以为我走在正确的道路上,但事实并非如此。我的情况如下:

我创建了layout-normal、layout-normal-land、layout-small、layout-small-land等...然后,我得到了values-normal-ldpi、values-normal-mdpi和所有其他限定符。我将尺寸放在这些文件夹中,在我的布局中,我只使用它们。这是我的布局代码:

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

不过,当我在我的设备(三星 Galaxy s2 plus)上测试它时,它看起来非常好。当我在 Nexus 5 上测试它时,它看起来不太接近。

关于如何为手机和平板电脑的最佳解决方案创建足够数量的布局有什么建议吗?

最佳答案

您可以使用这些布局来支持所有屏幕尺寸:

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)

关于java - 为平板电脑和手机 android 创建布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32129816/

相关文章:

java - 在Java中,为什么我的构造函数在外部类中时没有被调用?

android - 任何包装 View 组?

android - 如何让AppBar固定在底部

android - 为什么 LinearLayout 看起来像这样(元素之间的空白)?

java - BindingResult 方法参数的存在决定了抛出的异常?

java - 由于 Lambok 带注释的类,Maven 构建失败

java - JNI 和静态接口(interface)

android - 通知自动取消不适用于 Android Lollipop

java - 出现键盘时停止 GUI 压缩?

java - 如何在二维中使用字符串数组(String[][])并解析每个空间(指定元素点)中的数据?