如何在Android中使图标与文本大小相同?

6yt4nkrj  于 2023-01-03  发布在  Android
关注(0)|答案(3)|浏览(201)

我有一些文本的TextView和一些图标的ImageView,我用基线对齐它们:

android:baselineAlignBottom="true"
app:layout_constraintBaseline_toBaselineOf="@+id/penny"

TextView有一些文本大小,但我不能猜测ImageView的高度,使文本(不是TextView)和图标是相同的高度,他们总是略有不同。我该如何修复它?

<androidx.constraintlayout.widget.ConstraintLayout ... >
<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<ImageView
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="12dp"
    android:baselineAlignBottom="true"
    app:layout_constraintBaseline_toBaselineOf="@+id/text"
    app:layout_constraintStart_toEndOf="@+id/text"
    android:src="@drawable/icon" />
</androidx.constraintlayout.widget.ConstraintLayout>
deyfvvtc

deyfvvtc1#

您可以将图像视图的顶部和底部分别设置为textView的顶部和底部,imageView的高度为0dp,scaleType为fitXY。

5gfr0r5j

5gfr0r5j2#

你可以试试这个,它可能对你有用。
制作线性布局horizontalheightwrap_content,以所需的文本大小进行文本视图。以heightmatch_parentwidthwrap_content进行图像视图。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Demo Text"
            android:textColor="@color/black"
            android:textSize="@dimen/_30sdp" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@drawable/ic_app_logo" />

    </LinearLayout>

对于ConstraintLayout布局,您可以尝试如下操作。

设置android:scaleType="fitXY"

<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/tvDemoText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Demo Text"
            android:textColor="@color/black"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            android:textSize="@dimen/_35sdp" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:scaleType="fitXY"
            app:layout_constraintTop_toTopOf="@id/tvDemoText"
            app:layout_constraintBottom_toBottomOf="@id/tvDemoText"
            app:layout_constraintStart_toEndOf="@id/tvDemoText"
            android:src="@drawable/material_drawer_ico_menu_down" />

    </androidx.constraintlayout.widget.ConstraintLayout>
r8uurelv

r8uurelv3#

使用sp单位作为图像尺寸,这样图像将始终相对于用户的系统字体大小设置进行缩放。

相关问题