【问题标题】:Problems with TextView align right in androidTextView在android中对齐的问题
【发布时间】:2012-12-28 07:15:20
【问题描述】:

我想问一下如何更改布局以获取 ID rowType 设置为绝对正确位置的 TextView。目前我已将重力设置为右侧,但当前设置与上方 TextView 的右侧对齐(id:row)。所以如果 TextView 行在屏幕的一半处结束,TextView rowType 在一半处结束......

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@color/notepad_paper">
  <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:fadingEdge="vertical" 
      android:fadeScrollbars="true" 
      android:gravity="left" 
      android:layout_gravity="left|center_horizontal">
      <ImageView 
        android:id="@+id/rowImgFav" 
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:padding="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="40dp"
        android:scrollbars="vertical"
        android:fadingEdge="vertical"
        android:layout_alignParentRight="true"
      /> 
    <ImageView 
        android:id="@+id/rowImg" 
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:padding="5dp"
        android:scrollbars="vertical"
        android:fadingEdge="vertical"
        android:layout_alignParentRight="true"
      />

        <TableLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
            <TableRow 
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                >
                <TextView
                android:id="@+id/row"
                android:layout_height="fill_parent"
                android:layout_width="fill_parent" 
                android:paddingLeft="10dp"
                android:paddingBottom="0dp"
                android:textSize="14dp"
                android:textStyle="bold"
                android:textColor="@color/notepad_text" /> 
            </TableRow>
            <TableRow>
                <TextView
                android:id="@+id/rowType"
                android:layout_height="fill_parent"
                android:layout_width="fill_parent"  
                android:padding="0dp"
                android:paddingTop="2dp"
                android:textSize="10dp"
                android:textStyle="normal"
                android:gravity="right"
                android:textColor="@color/notepad_text" />
            </TableRow>
        </TableLayout> 
  </TableRow>
</TableLayout>  

【问题讨论】:

    标签: android alignment


    【解决方案1】:
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@color/notepad_paper">
      <TableRow 
          android:layout_width="fill_parent" 
          android:layout_height="fill_parent" 
          android:fadingEdge="vertical" 
          android:fadeScrollbars="true" 
          android:gravity="left" 
          android:layout_gravity="left|center_horizontal">
          <ImageView 
            android:id="@+id/rowImgFav" 
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:padding="5dp"
            android:paddingLeft="20dp"
            android:paddingRight="40dp"
            android:scrollbars="vertical"
            android:fadingEdge="vertical"
            android:layout_alignParentRight="true"
          /> 
        <ImageView 
            android:id="@+id/rowImg" 
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:padding="5dp"
            android:scrollbars="vertical"
            android:fadingEdge="vertical"
            android:layout_alignParentRight="true"
          />
    
            <TableLayout 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:layout_weight="1">
                <TableRow 
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    >
                    <TextView 
                    android:layout_width="wrap_content" 
                    android:layout_height="fill_parent" 
                    android:textStyle="bold" 
                    android:textSize="14dp" 
                    android:paddingLeft="10dp" 
                    android:textColor="@color/notepad_text" 
                    android:paddingBottom="0dp" 
                    android:id="@+id/row" 
                    android:layout_weight="1.0"></TextView> 
                </TableRow>
                <TableRow>
                    <TextView
                    android:id="@+id/rowType"
                    android:layout_height="fill_parent"
                    android:layout_width="fill_parent"  
                    android:padding="0dp"
                    android:paddingTop="2dp"
                    android:textSize="10dp"
                    android:textStyle="normal"
                    android:gravity="right"
                    android:textColor="@color/notepad_text"
                    android:layout_weight="1.0"/>
                </TableRow>
            </TableLayout> 
      </TableRow>
    </TableLayout>  
    

    已修复!我加了android:layout_weight="1.0"

    【讨论】:

    • 是的,重量很方便。此外,TableRows 彼此对齐。做这样的事情我可能会改用RelativeLayout。
    • 是的...我也在考虑RelativeLayout...但是也有一些其他限制... TableLayout 现在做得刚刚好!
    猜你喜欢
    • 2013-12-27
    • 2012-07-16
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多