4K分辨率android设备中的额外间距问题

时间:2019-01-22 10:33:04

标签: android android-layout visual-glitch

我正在开发聊天应用程序android。在所有设备上都可以很好地工作。

但是4K分辨率的设备(例如Samsung s8 +和一加6t)会自动在右侧留下额外的间距。 我没有给出任何空白和边距。

参考[this screenshot]。

我的视图文件是这样的:

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginStart="64dp"
        android:layout_marginLeft="64dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:background="@drawable/sender_bg"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:padding="16dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/karla_regular"
            android:text="Yes, and it will be safe. My promise"
            android:textColor="@color/colorPrimary"
            android:textSize="16sp" />

    </LinearLayout>
</layout>

任何人都可以帮助我解决该问题。预先感谢

1 个答案:

答案 0 :(得分:1)

使线性布局宽度与父项匹配

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginStart="64dp"
        android:layout_marginLeft="64dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:background="@drawable/sender_bg"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:padding="16dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/karla_regular"
            android:text="Yes, and it will be safe. My promise"
            android:textColor="@color/colorPrimary"
            android:textSize="16sp" />

    </LinearLayout>
</layout>