Android поддерживает другое разрешение с папкой макета - PullRequest
0 голосов
/ 14 ноября 2018

Я создаю макеты для приложения, но проблема в том, что макет идеально подходит для всех больших устройств, но не подходит для hdpi.Поэтому я думаю создать папку hdpi отдельно для макетов.Я выбираю каталог ресурсов Android и выбираю плотность как hdpi, но не работаю только с устройствами hdpi.Я пробовал размеры и ширину экрана, но не работает.Не могли бы вы помочь мне, как я могу улучшить его.

Код макета

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/combine_bg"
        android:layout_marginTop="@dimen/dp20"
        android:layout_marginBottom="@dimen/dp20"
        android:layout_marginRight="@dimen/dp20">


        <TextView
            android:id="@+id/txtWelcomeTo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/welcome_to"
            android:layout_marginTop="@dimen/dp170"
            android:layout_marginLeft="@dimen/dp10"
            android:textSize="@dimen/dp15"
            android:textColor="@android:color/black" />


        <TextView
            android:id="@+id/txtPrivateCare"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/the_private_care_masters"
            android:layout_marginLeft="@dimen/dp10"
            android:textStyle="bold"
            android:textColor="@android:color/black"
            android:layout_below="@id/txtWelcomeTo" />


        <EditText
            android:id="@+id/etemail"
            android:layout_width="@dimen/dp190"
            android:layout_height="wrap_content"
            android:layout_below="@id/txtPrivateCare"
            android:layout_marginLeft="@dimen/dp10"
            android:hint="@string/email_phone"
            android:layout_marginTop="@dimen/dp20" />


        <EditText
            android:id="@+id/etPassword"
            android:layout_width="@dimen/dp190"
            android:layout_height="wrap_content"
            android:layout_below="@id/etemail"
            android:layout_marginLeft="@dimen/dp10"
            android:layout_marginTop="@dimen/dp10"
            android:hint="@string/password"

            />


        <ImageButton
            android:id="@+id/loginButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/login_btn"
            android:background="@android:color/transparent"
            android:layout_below="@id/etemail"
            android:layout_marginLeft="@dimen/dp25"
            android:layout_toRightOf="@id/etemail" />


        <CheckBox
            android:id="@+id/chkRememberMe"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/etPassword"
            android:layout_marginLeft="@dimen/dp10"
            android:layout_marginTop="@dimen/dp10"
            android:text="@string/remember_me"
            android:textSize="@dimen/dp12"

            />


        <TextView
            android:id="@+id/txtForgotPwd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/chkRememberMe"
            android:text="@string/forgot_pwd"
            android:layout_below="@id/etPassword"
            android:layout_marginTop="@dimen/dp17"
            android:textSize="@dimen/dp12"
            android:layout_marginLeft="@dimen/dp15"

            />


        <TextView
            android:id="@+id/txtSignUp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/not_have_account"
            android:layout_below="@id/txtForgotPwd"
            android:layout_marginTop="@dimen/dp30"
            android:textSize="@dimen/dp12"
            android:layout_marginLeft="@dimen/dp15"

            />


    </RelativeLayout>
</RelativeLayout>

И снимок экрана .psd, который я хочу создать

screenhsot of .psd which I want to create

А мой макет на устройстве hdpi:

enter image description here

Как мне решить проблему, пожалуйстасправка

измерения. XML

<dimen name="dp1">1dp</dimen>
    <dimen name="dp2">2dp</dimen>
    <dimen name="dp3">3dp</dimen>
    <dimen name="dp4">4dp</dimen>

измерения. XML-большой

<dimen name="dp1">1.5dp</dimen>
<dimen name="dp2">3.0dp</dimen>
<dimen name="dp3">4.5dp</dimen>
<dimen name="dp4">6.0dp</dimen>

десять центов.xml - xlarge

 <dimen name="dp1">2.0dp</dimen>
    <dimen name="dp2">4.0dp</dimen>
    <dimen name="dp3">6.0dp</dimen>

1 Ответ

0 голосов
/ 14 ноября 2018

Вы должны использовать sp вместо dp для размера текста.

Из документации:

зр

Пиксели, не зависящие от масштаба - это похоже на единицу измерения dp, но также масштабируется в соответствии с предпочтениями размера шрифта пользователя. Рекомендуется использовать этот блок при указании размеров шрифта, чтобы они были отрегулированы как по плотности экрана, так и по предпочтениям пользователя.

...