Android - 如何使图片相对于TextView居中对齐

8

在此输入图片描述

我有一个如上所示的文本视图和一个信息图标,一切都很好,但我希望将信息图标与文本视图居中对齐。目前,它相对于文本视图是顶部右侧对齐。我希望它相对于文本视图居中右对齐。

XML布局文件如下所示:

        <RelativeLayout
             android:orientation="horizontal" 
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
              android:gravity="center"
            android:layout_gravity="center"
            > 

        <TextView               
            android:id="@+id/ViewMessageOne"                
            android:layout_width="275dp"
            android:layout_height="45dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#000000"
            android:textSize="14sp"
            android:typeface="sans" 
            android:background="@drawable/back"
            />   

         <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/banner_portrait"
            android:layout_toRightOf="@+id/ViewMessageOne"
            android:paddingLeft="10dp"
             android:gravity="center"               
           />


         </RelativeLayout>

请指导我正确的方向。感谢您的帮助。
2个回答

11

尝试:

android:layout_gravity="center_vertical|right"

编辑:

你也可以将高度更改为与 TextView 匹配,因为你的 ImageView 重力设置为 center

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="45dp"
    android:layout_toRightOf="@+id/ViewMessageOne"
    android:gravity="center"
    android:paddingLeft="10dp"
    android:src="@drawable/banner_portrait" />

7

除非您有特定需要使用 ImageView,否则可以删除它并在您的 TextView 上使用drawableRight

<TextView               
        android:id="@+id/ViewMessageOne"                
        android:layout_width="275dp"
        android:layout_height="45dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#000000"
        android:textSize="14sp"
        android:typeface="sans" 
        android:background="@drawable/back"
        android:drawableRight="@drawable/banner_portrait"   // here
        />   

@codeMagic,如何将图像居中对齐到TextView?android:drawableRight="@drawable/abc_ic_commit_search_api_mtrl_alpha"这会将其对齐到右侧,但我想要它居中。 - Prabs
@PrathibhaKirthi 我在这里的文档中没有看到任何相关信息,你可能需要设置一个包含 TextView 和 ImageView 的布局来将它居中显示。 - codeMagic
@codeMagic 我所做的是将其对齐到右侧,然后给左右填充..它就居中了..现在我需要一个按钮,其中一侧为椭圆形,另一侧为平面。 - Prabs
@PrathibhaKirthi 我不知道除了在编辑器中创建自己的形状图像并使用它之外还有什么方法。但这实际上是另一个问题。 - codeMagic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接