gpt4 book ai didi

java - wrap_content 不会调整字体大小吗?

转载 作者:行者123 更新时间:2023-11-30 11:06:17 26 4
gpt4 key购买 nike

我的理解是 wrap_content 占用的空间与其内容所需的空间一样多。但这不也适用于 TextView 吗?

在下面的布局中,为什么当我将 ID 为 real_status 的 TextView 的字体更改为 24 时,文本会部分隐藏?我原以为由于包装内容,封闭的 TextView 会环绕 24 sp 并正常显示文本。 18sp 没问题。

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>

<TextView
android:id="@+id/real_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/full_display_name"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/full_display_name"
android:gravity="center_vertical"
android:textSize="24sp"
android:textStyle="bold"
tools:text="Active"
/>

<TextView
android:id="@+id/full_display_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@id/real_status"
android:gravity="center_vertical"
android:text="The real user status:"
android:textSize="16sp"
/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/full_display_name"
android:gravity="right"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:visibility="gone"
tools:text="Just a text view"
tools:visibility="visible" />
</LinearLayout>

</RelativeLayout>

</LinearLayout>

使用 18sp:enter image description here

24sp:enter image description here

更新:
按照答案,我删除了布局顶部/底部并调整了字体,但现在我看到 TextView 与下一个小部件重叠。添加红色背景更显眼。
我认为通过“增长” TextView 其余部分会向下移动并且不会重叠 enter image description here

最佳答案

每当您遇到此类问题时,如果您对 LiniarLayout 非常了解,那么 LiniarLayout 是最好的。因为 wrap_content 和 match_parent 在 LiniarLayout 中很容易处理。

让我们理解它。(针对您的情况)..1.采取两个LiniarLayout( parent 有垂直方向..) 我为您的情况提供 Id LL1(水平)和 id LL2

2.在第一个布局中有两个textview @+id/full_display_name@+id/real_status 在 real_status 中有 match_parent 的宽度,所以很容易划分父级(fill_parent)并设置它的 android:gravity="right"

3.LiniarLayout 无关联

查看心爱的 XML 代码...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/LL1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:id="@+id/full_display_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="The real user status:"
android:textSize="16sp" />

<TextView
android:id="@+id/real_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="Active"
android:textSize="26sp" />
</LinearLayout>

<LinearLayout
android:id="@+id/LL2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/real_status"
android:gravity="right" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Just a text view" />
</LinearLayout>

</LinearLayout>

它将帮助您的 GUI 在所有设备中以任何大小的文本提供最佳 View

希望对您有所帮助

关于java - wrap_content 不会调整字体大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com