Android: Просмотр на предварительном просмотре дизайна не похож на реальный

#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 или выше, вы получите те же результаты.