【问题标题】:How to center align TextView below another TextView in a ListView如何在 ListView 中的另一个 TextView 下方居中对齐 TextView
【发布时间】:2014-09-05 07:21:44
【问题描述】:

目前我的 XML 如下所示:

我想要做的是让“Day”(它被替换为实际日期(例如 03、24))水平居中于月份下方(其中“Month”也被替换为 MMM 格式的月份字符串),例如日的水平中心与月的水平中心相匹配。旁边是一些其他的 TextView 对象,例如事件名称和事件时间。

我的 XML 部分基于 How to center align a textview below imageview as a title in a List view,但天有点太靠右了,尽管摆弄了 RelativeLayout 文档中的属性,但我不太确定如何解决这个问题。

http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html

events_info.xml(ListView 对象的布局):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/eventsRelLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="6dip">


    <TextView
        android:id="@+id/month"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Month" />


    <TextView
        android:id="@+id/day"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/month"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:singleLine="true"
        android:text="Day" />


    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/month"
        android:paddingLeft="10dp"
        android:paddingRight="0dp"
        android:text="Name" />

    <TextView
        android:id="@+id/time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_toRightOf="@id/month"
        android:paddingLeft="10dp"
        android:paddingRight="0dp"
        android:text="Time" />

fragment_event_list.xml(列表视图):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="fish.glow.EventFragment">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>

【问题讨论】:

    标签: android xml android-layout listview centering


    【解决方案1】:

    试试这个:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <RelativeLayout
        android:id="@+id/rl_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    
        <TextView
            android:id="@+id/month"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="month month" />
    
        <TextView
            android:id="@+id/day"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/month"
            android:layout_centerHorizontal="true"
            android:gravity="center"
            android:text="day" />
    
    </RelativeLayout>
    
    
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@+id/rl_left"
        android:text="name" />
    
    
    <TextView
        android:id="@+id/time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/name"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@+id/rl_left"
        android:text="time" />
    
    </RelativeLayout>
    

    【讨论】:

    • 这将月份放在左上角,天在右上角(应该在左下角),名字在左下角(应该在右上角),时间在右下角。
    • 这使得日期和月份都水平对齐到左侧。我试图让一天在月的中心水平对齐。很抱歉有任何混淆。 :X
    • 换句话说,我希望日的水平中心与月的水平中心匹配
    【解决方案2】:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/eventsRelLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="6dip">
    
    <LinearLayout
        android:id="@+id/date"
        android:orienation="vertical"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    
        <TextView
            android:id="@+id/month"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Month" />
    
    
        <TextView
            android:id="@+id/day"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/month"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:singleLine="true"
            android:text="Day" />
    </LinearLayout>
    
    
        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/date"
            android:paddingLeft="10dp"
            android:paddingRight="0dp"
            android:text="Name" />
    
        <TextView
            android:id="@+id/time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/name"
            android:layout_toRightOf="@id/date"
            android:paddingLeft="10dp"
            android:paddingRight="0dp"
            android:text="Time" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 2018-05-21
      相关资源
      最近更新 更多