【问题标题】:Vertically center a text on a listview row在列表视图行上垂直居中文本
【发布时间】:2012-03-12 02:22:42
【问题描述】:

我正在尝试为每行创建一个包含文本和图像的列表视图。 图像应该在右边,文本应该占据该行的其余部分。文本应垂直居中。 除了居中的部分,我可以做所有这些。 这是我多次尝试失败后的结果:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  android:id="@+id/widget71"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:gravity="center_vertical">
<TextView
  android:id="@android:id/text1"
  android:layout_width="wrap_content"
  android:layout_height="fill_parent"
  android:layout_marginTop="6px"
  android:textAppearance="?android:attr/textAppearanceLarge"
  android:text="@+id/text1"
  android:layout_weight="01"
  android:layout_gravity="center_vertical|fill_vertical|center_horizontal|center|clip_vertical"/>
<ImageView
  android:id="@android:id/icon"
  android:layout_width="30px"
  android:layout_height="40px"
  android:layout_marginTop="8px"
  android:layout_marginLeft="4px"
  android:layout_marginRight="8px"
  android:src="@drawable/delete"
  android:layout_gravity="right" />
</LinearLayout>

无论文本总是显示在行的顶部。 我已经看到一些报告说这可能是由于手动完成时 xml 的膨胀方式造成的。但我不这样做。我把它留给框架。

【问题讨论】:

    标签: android listview row center


    【解决方案1】:

    我使用包含TextViewImageViewRelativeLayout

    我使用android:layout_centerVertical="true" 属性。适合我。

    【讨论】:

    • 终于成功了!!你的回答是。虽然我也使用了 piotrpo 答案(是否可以同时接受?)。
    【解决方案2】:

    将此添加到文本视图

    android:gravity="center_vertical"
    

    android:gravity="center"
    

    【讨论】:

      【解决方案3】:

      用户RelativeLayout代替LinearLayout为TextView设置fill_parent,为ImageView设置wrap_content。

      【讨论】:

        猜你喜欢
        • 2012-07-18
        • 1970-01-01
        • 2016-02-05
        • 1970-01-01
        • 2013-10-15
        • 1970-01-01
        • 2018-05-26
        • 1970-01-01
        • 2023-01-09
        相关资源
        最近更新 更多