首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ListView 項目中 ImageView 下方文字居中顯示

     編輯:程式設計綜合問答

問題

RelativeLayout 中 TextView 設置 layout_below="@id/icon" 但無法水平居中於 ImageView 下方。

解決:添加 layout_centerHorizontal

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/icon"
    android:layout_centerHorizontal="true"  <!-- 關鍵屬性 -->
    android:singleLine="true"
    android:textColor="@color/white" />

原理

  • layout_below 僅控制垂直位置(在 ImageView 下方)。
  • layout_centerHorizontal="true" 告訴父佈局:在水平方向將本 View 置於**父佈局中心**。因 ImageView 通常也置於父佈局中心(或未指定水平約束時默認居中),文字即視覺上居中於圖片下方。

若 ImageView 非居中

改用 layout_alignLeft="@id/icon" + layout_alignRight="@id/icon" 使 TextView 水平範圍與 ImageView 一致,再配合 gravity="center" 實現文字居中。

完整項目佈局示例

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/icon"
        android:layout_centerHorizontal="true"
        android:singleLine="true"
        android:textColor="@color/white" />

</RelativeLayout>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved