#android #android-layout #preview
#Android #android-макет #Предварительный просмотр
Вопрос:
есть код моего макета:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="119dp"
android:layout_height="84dp"
android:src="@drawable/image_template"
android:id="@ id/roleIco"
android:scaleType="fitCenter"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="the name of the player"
android:id="@ id/playerName"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
android:layout_marginTop="16dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp" />
<TextView
android:text="Role name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@ id/roleName"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:layout_marginTop="16dp" />
<TextView
android:text="Fraction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@ id/fractionName"
android:layout_marginTop="16dp"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />
</LinearLayout>
<ImageView
android:layout_width="74dp"
android:layout_height="match_parent"
android:src="@drawable/icon_heart"
android:id="@ id/playerStatusIcon"
android:scaleType="fitCenter" />
</LinearLayout>
И проблема в том, что в предварительном просмотре дизайна в Android Studio это выглядит так:
Посмотрите это изображение, пожалуйста
Но когда я запускаю это приложение на телефоне, оно выглядит так:
Посмотрите это изображение, пожалуйста
Кто-нибудь может мне помочь, в чем причина этой разницы и как ее устранить и изменить реальный вид на такой, как на предварительном просмотре?
Спасибо за ответ 😉
Комментарии:
1. вы имеете в виду цвет текста в предварительном просмотре??
2. Вы не задали ориентацию для родительского линейного макета. Попробуйте установить его ориентацию на
horizontal
.3. @Vaibhav Agarwal ориентация по умолчанию всегда горизонтальная, даже если вы ее не определяете
4. О да! Мой плохой. Как я мог это забыть. Спасибо, что поправили меня. @Vivek Mishra
Ответ №1:
Предварительный просмотр отличается тем, что вы видите предварительный просмотр в соответствии с уровнем API 24, в то время как изображение, которое вы прикрепили для реального устройства, находится ниже уровня API 21.
Поэтому на вашем реальном устройстве нет Material Design, и, следовательно, есть разница. Попробуйте это на реальном устройстве под управлением Android Lollipop или выше, вы получите те же результаты.