Создание адаптивного интерфейса в Android - PullRequest
0 голосов
/ 02 апреля 2019

Я новичок в Android android Studio.

Я работаю над проектом, который должен быть оптимизирован для всех экранов.

Мое приложение работает в портретном режиме, поэтому я заблокировал альбомную ориентацию как перед запуском, так и в рабочем состоянии.

Теперь я в тупике. Я хочу знать, какой предмет важен в дизайне?

В статье, которую я прочитал, у меня должно быть 4 макета (маленький, обычный, большой и большой) для моей деятельности, но когда я запускаю свое приложение в эмуляторе Android Studio с размером экрана 5,0 ", оно запускается успешно, но когда я запустите его на реальном устройстве с 5,0-дюймовым экраном, мой макет не полностью отображается на экране.

В другой статье я читал, что для адаптивного дизайна я должен использовать все плотности (ldpi, mdpi, hdpi и т. Д.)

теперь я запутался, как предотвратить жесткое кодирование местоположения и размера элементов в проектировании Android.

пожалуйста, помогите мне, я так усвоил этот вопрос

1 Ответ

0 голосов
/ 02 апреля 2019

Вы можете использовать эту библиотеку https://github.com/intuit/sdp для создания адаптивного макета, оптимизированного для всех экранов.

На самом деле это новая единица измерения масштаба, называемая sdp (масштабируемый дп).

Вот пример того, как его использовать после добавления зависимости в файл build.gradle

<LinearLayout
        android:id="@+id/give_us_a_review_landmine_main_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="@dimen/_27sdp"
        android:paddingLeft="@dimen/_43sdp"
        android:paddingRight="@dimen/_43sdp"
        android:paddingTop="@dimen/_50sdp" >

     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Intuit"
            android:textColor="@android:color/black"
            android:textSize="@dimen/_40sdp"/>

</LinearLayout>

В этом примере, как вы можете видеть, я использую sdp вместо dp.

Вы можете попробовать это, и вы увидите, что даже размер textSize изменится в зависимости от вашего экрана и сохранит то же соотношение размера текста / разрешения.

...