如何在右上角对齐textview?

时间:2015-10-01 10:10:29

标签: android layout

我有以下xml。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MainLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/smsItemContainerRelativeLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:layout_gravity="center_horizontal|top"
            android:text="SMS Inbox"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/unread_count"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="-20dp"
            android:layout_toRightOf="@+id/textView"
            android:background="@drawable/notification_bg"
            android:gravity="center"
            android:text="88"
            android:textColor="@android:color/background_light"
            android:textSize="20sp"
            android:textStyle="bold"    
            android:visibility="visible" />
    </RelativeLayout>

    <ListView
        android:id="@+id/SMSList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" />


</LinearLayout>

为此,我有以下布局:

enter image description here

我想将id unread_count的textview转移到parent的右侧。我怎样才能做到这一点 ?

如果我设置android:layout_alignParentRight =“true”,那么我有以下图片:

enter image description here

我只想得到以下图片:

enter image description here

5 个答案:

答案 0 :(得分:3)

在身份textview

unread_count中添加此内容
 android:layout_alignParentRight="true"

并删除此

android:layout_toRightOf="@+id/textView"

不给予负余量

添加一些右边距以调整textview

的位置

答案 1 :(得分:2)

只需设置android:layout_alignParentRight="true"

即可

尝试使用此

android:gravity="right"
android:textAlignment="gravity"

https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_alignParentRight

答案 2 :(得分:2)

删除以下行:

android:layout_marginLeft="-20dp"  android:layout_toRightOf="@+id/textView"

并包含此行

android:layout_alignParentRight="true"

答案 3 :(得分:1)

只需删除此行

  android:layout_toRightOf="@+id/textView"

添加此行

  android:layout_alignParentRight="true"

答案 4 :(得分:0)

 <TextView
            android:id="@+id/unread_count"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginLeft="20dp"
            android:layout_toRightOf="@+id/textView"
            android:background="@drawable/notification_bg"
            android:gravity="center"
            android:text="88"
            android:layout_alignBottom="@+id/textView"
            android:textColor="@android:color/background_light"
            android:textSize="16sp"
            android:textStyle="bold"    
           />