在Android开发中经常遇到一个控件居中,一个控件居右的需求;如下原型图
实现代码(目前只用RelativeLayout布局实现了)
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/nickname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:id="@+id/user_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/white" />
<ImageView
android:id="@+id/edit_img"
android:layout_width="@dimen/size_10dp"
android:layout_height="@dimen/size_10dp"
android:layout_marginStart="4dp"
android:contentDescription="@null"
android:src="@mipmap/ic_wd_bi" />
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true">
<TextView
android:id="@+id/mine_xuefen"
android:layout_width="wrap_content"
android:layout_height="22dp"
android:layout_marginEnd="-20dp"
android:background="@drawable/module_mine_button_credit"
android:gravity="center_vertical"
android:paddingLeft="25dp"
android:paddingRight="30dp"
android:text="0学分"
android:textColor="@color/textcolor_333333"
android:textSize="12sp" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_centerVertical="true"
android:layout_marginStart="3dp"
android:contentDescription="@null"
android:src="@mipmap/ic_wd_xing" />
</RelativeLayout>
</RelativeLayout>
需要注意的是:
第一个控件LinearLayout需要 android:gravity="center"
第二个控件RelativeLayout 需要android:layout_alignParentEnd="true"
layout_alignParentEnd和layout_alignParentRight 如果在Android Studio中使用layout_alignParentRight 会警告Consider replacing android:layout_alignParentRight with android:layout_alignParentEnd="true" to better support right-to-left layouts
意思是为了更好的支持阿拉伯语、波斯语等情况下从右往左的阅读方式,从Android 4.2( V 17)开始支持RTL(Right-To-Left)模式。将layout_alignParentRight 替换为layout_alignParentEnd即可。
评论已关闭