android:gravity 和 android:layout_gravity 区别

本文详细解析了Android中gravity和layout_gravity属性的区别与用法,包括它们如何影响视图元素的位置定位,特别是在RelativeLayout、LinearLayout和FrameLayout中的表现。
1、android:gravity   
    设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置
    如果是在layout中设置,表示layout下所有控件相对layout的位置
     <RelativeLayout
        android:id="@+id/send_grow_content_navigation"
        android:layout_width="match_parent"
        android:layout_height="@dimen/height_top_bar"
        android:background="@color/top_bar_normal_bg"
        android:gravity="center_vertical" >
            <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="测试"
            android:textColor=“#000000"
            android:textSize="18sp" />
    </RelativeLayout>

    表示TextView是垂直居中的,而水平方向没有限制


2、android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。


3、android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效


   ①对于 LinearLayout :


   当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。


   当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。


   ②对于 FrameLayout :任意android:layout_gravity属性都有效,可以非常方便实现对组件的布局。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/MainPage" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:id="@+id/SerialContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/Serial" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="串口号:" /> <TextView android:id="@+id/SerialName" android:layout_width="100dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/Serial" android:gravity="center" android:text="未连接" android:textColor="#888888" android:background="@drawable/solid_shape"/> <Button android:id="@+id/OpenSerial" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_toRightOf="@id/SerialName" android:text="打开串口" /> <Button android:id="@+id/QuitSoftware" android:layout_width="140dp" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_margin="2dp" android:text="退出软件" /> </RelativeLayout> <FrameLayout android:id="@+id/previewContent" android:layout_width="569dp" android:layout_height="320dp" android:visibility="gone"> <androidx.camera.view.PreviewView android:id="@+id/preview" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout> <RelativeLayout android:id="@+id/handleContent" android:layout_width="match_parent" android:layout_height="320dp" android:visibility="visible"> <TextView android:id="@+id/handle" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="手柄" /> <LinearLayout android:id="@+id/RightContent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_toRightOf="@+id/handle" android:orientation="vertical"> <RelativeLayout android:id="@+id/content1" android:layout_width="match_parent" android:layout_height="40dp" android:layout_toRightOf="@+id/handle"> <TextView android:id="@+id/ForkSprings" android:layout_width="100dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="叉簧:" /> <TextView android:id="@+id/ForkSpringsStatus" android:layout_width="80dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/ForkSprings" android:gravity="center" android:text="未连接" android:textColor="#888888" android:background="@drawable/solid_shape"/> <Button android:id="@+id/ChangeDial" android:layout_width="140dp" android:layout_height="match_parent" android:layout_alignParentRight="true" android:text="带拨号盘版" /> </RelativeLayout> <RelativeLayout android:id="@+id/content2" android:layout_width="match_parent" android:layout_height="40dp"> <Button android:id="@+id/btnA" android:layout_width="100dp" android:layout_height="match_parent" android:text="按钮A" /> <TextView android:id="@+id/ShowBtnAStatus" android:layout_width="80dp" android:layout_height="match_parent" android:layout_toRightOf="@id/btnA" android:gravity="center" android:text="r140" /> <TextView android:id="@+id/AFlashing" android:layout_width="40dp" android:layout_height="match_parent" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowBtnAStatus" android:background="@drawable/lamp_shape" android:gravity="center" android:text="A" /> <Button android:id="@+id/AStart" android:layout_width="100dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/AFlashing" android:text="A开灯" /> <Button android:id="@+id/AClose" android:layout_width="100dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/AStart" android:text="A关灯" /> </RelativeLayout> <RelativeLayout android:id="@+id/content3" android:layout_width="match_parent" android:layout_height="40dp"> <Button android:id="@+id/btnB" android:layout_width="100dp" android:layout_height="match_parent" android:text="按钮B" /> <TextView android:id="@+id/ShowBtnBStatus" android:layout_width="80dp" android:layout_height="match_parent" android:layout_toRightOf="@id/btnB" android:gravity="center" android:text="r130" /> <TextView android:id="@+id/BFlashing" android:layout_width="40dp" android:layout_height="match_parent" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowBtnBStatus" android:background="@drawable/lamp_shape" android:gravity="center" android:text="B" /> <Button android:id="@+id/BStart" android:layout_width="100dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/BFlashing" android:text="B开灯" /> <Button android:id="@+id/BClose" android:layout_width="100dp" android:layout_height="match_parent" android:layout_toRightOf="@+id/BStart" android:text="B关灯" /> </RelativeLayout> <LinearLayout android:id="@+id/DialContent" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:visibility="visible"> <TextView android:id="@+id/display" android:layout_width="match_parent" android:layout_height="40dp" android:background="#E8E8E8" android:gravity="center" android:hint="请输入" /> <GridLayout android:id="@+id/keyboard" android:layout_width="match_parent" android:layout_height="match_parent" android:columnCount="3" android:rowCount="4"> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="1" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="2" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="3" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="4" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="5" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="6" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="7" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="8" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="9" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="DEL" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="0" /> <Button android:layout_width="0dp" android:layout_height="40dp" android:layout_columnWeight="1" android:text="OK" /> </GridLayout> </LinearLayout> <RelativeLayout android:id="@+id/NoDialContent" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <Button android:id="@+id/key1" android:layout_width="100dp" android:layout_height="40dp" android:text="KEY1" /> <TextView android:id="@+id/ShowKey1" android:layout_width="80dp" android:layout_height="40dp" android:layout_toRightOf="@+id/key1" android:gravity="center" android:text="r150" /> <TextView android:id="@+id/key1Flashing" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowKey1" android:background="@drawable/lamp_shape" android:gravity="center" android:text="key1" /> <Button android:id="@+id/key1Start" android:layout_width="100dp" android:layout_height="40dp" android:layout_toRightOf="@+id/key1Flashing" android:text="开灯" /> <Button android:id="@+id/key1Close" android:layout_width="100dp" android:layout_height="40dp" android:layout_toRightOf="@+id/key1Start" android:text="关灯" /> <Button android:id="@+id/key2" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key1" android:text="KEY2" /> <TextView android:id="@+id/ShowKey2" android:layout_width="80dp" android:layout_height="40dp" android:layout_below="@+id/ShowKey1" android:layout_toRightOf="@+id/key2" android:gravity="center" android:text="r160" /> <TextView android:id="@+id/key2Flashing" android:layout_width="40dp" android:layout_height="40dp" android:layout_below="@+id/key1Flashing" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowKey2" android:background="@drawable/lamp_shape" android:gravity="center" android:text="key2" /> <Button android:id="@+id/key2Start" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key1Start" android:layout_toRightOf="@+id/key2Flashing" android:text="开灯" /> <Button android:id="@+id/key2Close" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key1Close" android:layout_toRightOf="@+id/key2Start" android:text="关灯" /> <Button android:id="@+id/key3" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key2" android:text="KEY3" /> <TextView android:id="@+id/ShowKey3" android:layout_width="80dp" android:layout_height="40dp" android:layout_below="@+id/ShowKey2" android:layout_toRightOf="@+id/key3" android:gravity="center" android:text="r170" /> <TextView android:id="@+id/key3Flashing" android:layout_width="40dp" android:layout_height="40dp" android:layout_below="@+id/key2Flashing" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowKey3" android:background="@drawable/lamp_shape" android:gravity="center" android:text="key3" /> <Button android:id="@+id/key3Start" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key2Start" android:layout_toRightOf="@+id/key3Flashing" android:text="开灯" /> <Button android:id="@+id/key3Close" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key2Close" android:layout_toRightOf="@+id/key3Start" android:text="关灯" /> <Button android:id="@+id/key4" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key3" android:text="KEY4" /> <TextView android:id="@+id/ShowKey4" android:layout_width="80dp" android:layout_height="40dp" android:layout_below="@+id/ShowKey3" android:layout_toRightOf="@+id/key4" android:gravity="center" android:text="r180" /> <TextView android:id="@+id/key4Flashing" android:layout_width="40dp" android:layout_height="40dp" android:layout_below="@+id/key3Flashing" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowKey4" android:background="@drawable/lamp_shape" android:gravity="center" android:text="key4" /> <Button android:id="@+id/key4Start" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key3Start" android:layout_toRightOf="@+id/key4Flashing" android:text="开灯" /> <Button android:id="@+id/key4Close" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key3Close" android:layout_toRightOf="@+id/key4Start" android:text="关灯" /> <Button android:id="@+id/key5" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key4" android:text="KEY5" /> <TextView android:id="@+id/ShowKey5" android:layout_width="80dp" android:layout_height="40dp" android:layout_below="@+id/ShowKey4" android:layout_toRightOf="@+id/key5" android:gravity="center" android:text="r190" /> <TextView android:id="@+id/key5Flashing" android:layout_width="40dp" android:layout_height="40dp" android:layout_below="@+id/key4Flashing" android:layout_marginRight="10dp" android:layout_toRightOf="@id/ShowKey5" android:background="@drawable/lamp_shape" android:gravity="center" android:text="key5" /> <Button android:id="@+id/key5Start" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key4Start" android:layout_toRightOf="@+id/key5Flashing" android:text="开灯" /> <Button android:id="@+id/key5Close" android:layout_width="100dp" android:layout_height="40dp" android:layout_below="@+id/key4Close" android:layout_toRightOf="@+id/key5Start" android:text="关灯" /> </RelativeLayout> </LinearLayout> </RelativeLayout> <RelativeLayout android:id="@+id/VoiceContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/voice" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="录音" /> <Button android:id="@+id/RecordingVoice" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_toRightOf="@+id/voice" android:text="开始录音" /> <TextView android:id="@+id/ShowVoiceData" android:layout_width="100dp" android:layout_height="match_parent" android:textSize="10dp" android:gravity="center" android:layout_toRightOf="@+id/RecordingVoice" android:background="@drawable/solid_shape"/> <Button android:id="@+id/PlayVoice" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="播放语音" android:layout_toRightOf="@id/ShowVoiceData"/> <Button android:id="@+id/DeleteAudioAndView" android:layout_width="80dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="删除" android:layout_alignParentRight="true"/> </RelativeLayout> <RelativeLayout android:id="@+id/CameraContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/camera" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="摄像头" /> <Button android:id="@+id/OpenAndCloseCamera" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_toRightOf="@+id/camera" android:text="打开摄像头" /> <Button android:id="@+id/photograph" android:layout_width="100dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_toRightOf="@id/OpenAndCloseCamera" android:text="拍照" /> <TextView android:id="@+id/PhotographData" android:layout_width="100dp" android:layout_height="match_parent" android:textSize="10dp" android:gravity="center" android:maxLines="3" android:ellipsize="end" android:layout_toRightOf="@+id/photograph" android:background="@drawable/solid_shape"/> <Button android:id="@+id/RecordingView" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_toRightOf="@+id/PhotographData" android:text="录制视频" /> <TextView android:id="@+id/RecordingViewData" android:layout_width="100dp" android:layout_height="match_parent" android:textSize="10dp" android:gravity="center" android:maxLines="3" android:ellipsize="end" android:layout_toRightOf="@+id/RecordingView" android:background="@drawable/solid_shape"/> <Button android:id="@+id/DeleteView" android:layout_width="80dp" android:layout_height="match_parent" android:layout_margin="2dp" android:layout_alignParentRight="true" android:text="删除" /> </RelativeLayout> <LinearLayout android:id="@+id/ScreenTestContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/ScreenTest" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="屏幕测试" /> <Button android:id="@+id/ScreenCheck" android:layout_width="120dp" android:layout_height="match_parent" android:text="屏幕检测" android:layout_margin="2dp"/> <TextView android:id="@+id/TouchScreenCheck" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="触摸屏检测" /> <Button android:id="@+id/ScribingTest" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="划线测试" /> <Button android:id="@+id/SinglePointTest" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="单点测试" /> </LinearLayout> <LinearLayout android:id="@+id/NetPortContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/NetPort" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="网口" /> <TextView android:id="@+id/NetPortData" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp"/> <TextView android:id="@+id/ping" android:layout_width="160dp" android:layout_height="match_parent" android:text="ping" android:gravity="center" android:background="#CECECE" /> <TextView android:id="@+id/pingData" android:layout_width="120dp" android:layout_height="match_parent"/> </LinearLayout> <LinearLayout android:id="@+id/USBContent" android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:id="@+id/USB" android:layout_width="160dp" android:layout_height="match_parent" android:background="#CECECE" android:gravity="center" android:text="USB接口" /> <TextView android:id="@+id/WriteTextData" android:layout_width="80dp" android:layout_height="match_parent" /> <Button android:id="@+id/WriteText" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="写入文本" /> <TextView android:id="@+id/OpenTextData" android:layout_width="80dp" android:layout_height="match_parent" /> <Button android:id="@+id/OpenText" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="打开文本" /> <Button android:id="@+id/DeleteText" android:layout_width="120dp" android:layout_height="match_parent" android:layout_margin="2dp" android:text="删除文本" /> </LinearLayout> </LinearLayout> 在以上布局文件中,让以下部分在里面居中 <androidx.camera.view.PreviewView android:id="@+id/preview" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout>居中
最新发布
08-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值