2016-08-31 2 views
0

Я разработал этот экран: Sample Screenразмера Android изображения

Я проверяю его на реом Note3 телефоне. Я разместил свои изображения в mipmap-xxhdpi. Все значки имеют размер 144x144. Но они выглядят очень большими. Должен ли я переместить это в папку с возможностью выбора. Должен ли я уменьшить размер изображений. Я прочитал, что значки должны быть 144x144 для xxhdpi. Как я должен решить, каков размер моего изображения. Как он будет приспосабливаться к разным плотностям экрана? Вот мой XML-файл:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/login_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:background="@android:color/black" 
    tools:context=".ui.activity.LoginActivity" 
    android:isScrollContainer="true"> 

    <ImageView 
     android:layout_centerHorizontal="true" 
     android:id="@+id/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 

    <TextView 
     android:layout_centerHorizontal="true" 
     android:layout_below="@id/logo" 
     android:id="@+id/welcome_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/welcome_text"/> 

    <EditText 
     android:layout_marginLeft="@dimen/activity_horizontal_margin" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/email" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/welcome_text" 
     android:hint="@string/user_name" 
     android:inputType="textEmailAddress" 
     android:paddingTop="@dimen/activity_horizontal_margin" 
     android:paddingBottom="@dimen/activity_horizontal_margin" 
     android:paddingStart="10dp" 
     android:paddingLeft="10dp" 
     android:drawableLeft="@mipmap/usr" 
     android:drawablePadding="10dp" 
     android:background="@drawable/edittext_border"/> 

    <EditText 
     android:paddingTop="@dimen/activity_horizontal_margin" 
     android:paddingBottom="@dimen/activity_horizontal_margin" 
     android:paddingStart="10dp" 
     android:paddingLeft="10dp" 
     android:layout_marginLeft="@dimen/activity_horizontal_margin" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/password" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/email" 
     android:hint="@string/pass" 
     android:inputType="textPassword" 
     android:drawablePadding="20dp" 
     android:drawableLeft="@mipmap/pass" 
     android:background="@drawable/edittext_border" /> 


    <Button 
     android:layout_centerHorizontal="true" 
     android:textColor="@android:color/white" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" 
     android:background="@color/signin_color_orange" 
     android:id="@+id/signin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/password" 
     android:text="Sign In" /> 

    <ImageView 
     android:layout_below="@id/signin" 
     android:id="@+id/oval_sep" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@mipmap/oval" 
     android:layout_centerHorizontal="true" /> 
    <View 
     android:layout_marginLeft="@dimen/activity_horizontal_margin" 
     android:id="@+id/left_sep" 
     android:layout_below="@id/signin" 
     android:layout_toLeftOf="@+id/oval_sep" 
     android:layout_width="fill_parent" 
     android:layout_height="1dp" 
     android:background="@color/border_color"/> 
    <View 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:id="@+id/right_sep" 
     android:layout_below="@id/signin" 
     android:layout_toRightOf="@+id/oval_sep" 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:background="@color/border_color" /> 
    <TextView 
     android:id="@+id/or_text" 
     android:elevation="8dp" 
     android:layout_toRightOf="@id/left_sep" 
     android:layout_below="@id/signin" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:text="OR" 
     android:textColor="@color/black_overlay"/> 
    <TextView 
     android:layout_centerHorizontal="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/signup_txt" 
     android:id="@+id/signup_txt" 
     android:layout_below="@id/oval_sep" /> 
    <View 
     android:id="@+id/social_sep" 
     android:layout_below="@id/signup_txt" 
     android:layout_width="1dp" 
     android:layout_height="1dp" 
     android:background="@color/signin_color_orange" 
     android:layout_centerHorizontal="true"/> 
    <ImageButton 
     android:layout_marginLeft="@dimen/activity_horizontal_margin" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:src="@drawable/google" 
     android:layout_below="@id/signup_txt" 
     android:background="@drawable/social_button_border" 
     android:id="@+id/google" 
     android:layout_toLeftOf="@+id/social_sep" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
    <ImageButton 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:layout_marginLeft="-2dp" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:src="@mipmap/fb" 
     android:layout_below="@id/signup_txt" 
     android:layout_toRightOf="@id/social_sep" 
     android:background="@drawable/social_button_border_fb" 
     android:id="@+id/fb" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
    <View 

     android:id="@+id/btn_sep" 
     android:layout_below="@id/fb" 
     android:layout_width="1dp" 
     android:layout_height="1dp" 
     android:background="@android:color/transparent" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true"/> 
    <Button 
     android:layout_toLeftOf="@id/btn_sep" 
     android:id="@+id/lost_pswd" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/account_border" 
     android:text="@string/lost_pswd" 
     android:layout_alignParentBottom="true"/> 
    <Button 
     android:background="@drawable/account_border" 
     android:text="@string/create_accnt" 
     android:id="@+id/crt_accnt" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_toRightOf="@id/lost_pswd"/> 
</RelativeLayout> 
+1

'Я разместил свои изображения в mipmap-xxhdpi.' ** Неверно **: вы должны использовать' drawable-xxhdpi'. Потому что mipmap является ** только для значка запуска **. Возможно, вы захотите прочитать этот [официальный документ] (https://developer.android.com/guide/practices/ui_guidelines/icon_design.html) –

ответ

0

Это зависит от разрешения, что вы разрабатываете свой PSD. Для каждой плотности пикселей нет стандартного размера. Например, любое изображение в xhdpi должно быть половины размера xxxhdpi, но они будут отображаться с одинаковыми размерами на соответствующих устройствах. Если ваш PSD для xhdpi, поместите ваши обрезанные значки в папку xhdpi.

0

вы должны создать четыре файла измерения и придать изображению соответствующие тетив и высоту соответственно

пример:

android:width="@dimen/one" 
+0

... четыре? так что насчет ldpi? или xxxhdpi? Я бы сказал, вам нужно ** шесть ** файлов. –

0

Во-первых, вы должны поместить все изображения, которые вы собираетесь использовать в приложение помещает их в приложение с возможностью рисования. Для разных разрешений существуют различные доступные папки: drawable-mdpi (средний разрешающий способ 48x48), drawable-hdpi (с высоким разрешением - 72x72), drawable-xhdpi (дополнительное высокое разрешение - 96x96), drawable-xxhdpi (дополнительное дополнительное разрешение - 144x144), drawable-xxxhdpi (дополнительное дополнительное высокое разрешение - 192x192).

Если вы поместили изображения с разрешением в соответствующие папки, размер приложения может увеличиться. Поэтому, чтобы избежать размещения изображения с высоким разрешением внутри drawable-xxxhdpi, и он будет автоматически настраиваться на оставшееся разрешение. Лучшей практикой является создание изображения размером 192x192 и размещение его в папке drawable-xxxhdpi.

Смежные вопросы