android:layout_gravity为什么不能让按钮居中显示? layoutandroid控件relativelayout 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我测试了下,TableRow TableLayout都无效RelativeLayout中的控件没有android:layout_gravityLinearLayout和FrameLayout有效果为什么我就不知道了 在tablelayout里加android:stretchColumns="0",就ok了 应该是布局的问题吧,试试LinearLayout <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="cente"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button01" android:text="LONG"/> </TableRow>貌似你的在布局里设置吧 我问的是为什么 <TableRow > <Button android:layout_gravity="center_horizontal"不能使按钮居中显示? 我不是很清楚~瞎猜的,是不是因为TableRow 继承是LinearLayout,而LinearLayout本身就不支持layout_gravity="center_horizontal";测试LinearLayout"center_horizontal"没用,但是"center_vertical"有用 澳~我有点明白了,LinearLayout本身就是线性布局,它本身的对子控件的居中方式只能有一种,不能像RelativeLayout那么灵活<LinearLayout 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=".MainActivity" android:background="#ff8989" > <LinearLayout android:background="#000000" android:layout_gravity="center_vertical" android:layout_width="200dp" android:layout_height="200dp" android:orientation="horizontal" > <Button android:layout_gravity="center_vertical" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout></LinearLayout>向上边这个center_horizontal居中就没用;<LinearLayout 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=".MainActivity" android:background="#ff8989" > <LinearLayout android:background="#000000" android:layout_gravity="center_vertical" android:layout_width="200dp" android:layout_height="200dp" android:orientation="vertical" > <Button android:layout_gravity="center_horizontal" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout></LinearLayout>这个就是"center_vertical"没用,,嘴比较笨,心里敞亮但说不明白~见谅哈 TableRow默认就是有多列的,你设置了<TableRow android:gravity="center">,就让你的列都居中了。如果你只设置<Button android:layout_gravity="center_horizontal",那它只在第一列的位置移动。你可以试试<Button android:layout_gravity="left",<Button android:layout_gravity="right",应该会有移动距离,但肯定限制在第一列里 一个设置了left,一个设置了right,为啥两个都在左边呢? 试试这个:<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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" > <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="0" > <TableRow > <TextView android:layout_gravity="left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TextView01" android:text="Test Toast"/> </TableRow> <TableRow > <Button android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button01" android:text="LONG"/> </TableRow> <TableRow > <Button android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button02" android:text="SHORT"/> </TableRow> </TableLayout> </RelativeLayout> 对于 LinearLayout 当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。 当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。 参考自该博文:http://www.cnblogs.com/xiaoQLu/archive/2012/10/22/2733631.html 相对布局,顾名思义,通俗点说就是相对于哪个的哪边;比如下面3个,第一个全部居中,第二个水平居中,第三个垂直居中;android:layout_centerInParent="true" android:layout_centerHorizontal="true" android:layout_centerVertical="true" 悲剧啊,android 随机安排菜谱 初学Android最基本的问题向大家请教 如何用正则表达式过滤掉除了某个标签以外的所有的xml标签 ksoap2 基础问题 android 图片处理技术:圆角和倒影 功能。 android工程里将so动态库一起打包进jar的问题、 常见的android游戏开发软件——AndEngine 安卓下,子线程之间如何通信? 使用刷机软件后遗症。 android 平板,竖屏应用,播放视频时,内容不能正常显示,如何旋转90都播放?
RelativeLayout中的控件没有android:layout_gravity
LinearLayout和FrameLayout有效果
为什么我就不知道了
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="cente">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Button01"
android:text="LONG"/>
</TableRow>
貌似你的在布局里设置吧
<Button android:layout_gravity="center_horizontal"
不能使按钮居中显示?
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="#ff8989" > <LinearLayout
android:background="#000000"
android:layout_gravity="center_vertical"
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="horizontal" > <Button
android:layout_gravity="center_vertical"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout></LinearLayout>
向上边这个center_horizontal居中就没用;<LinearLayout 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=".MainActivity"
android:background="#ff8989" > <LinearLayout
android:background="#000000"
android:layout_gravity="center_vertical"
android:layout_width="200dp"
android:layout_height="200dp"
android:orientation="vertical" > <Button
android:layout_gravity="center_horizontal"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout></LinearLayout>
这个就是"center_vertical"没用,,嘴比较笨,心里敞亮但说不明白~见谅哈
如果你只设置<Button android:layout_gravity="center_horizontal",那它只在第一列的位置移动。你可以试试
<Button android:layout_gravity="left",<Button android:layout_gravity="right",
应该会有移动距离,但肯定限制在第一列里
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0" >
<TableRow >
<TextView android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/TextView01"
android:text="Test Toast"/>
</TableRow>
<TableRow >
<Button android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Button01"
android:text="LONG"/>
</TableRow>
<TableRow
>
<Button
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Button02"
android:text="SHORT"/>
</TableRow>
</TableLayout>
</RelativeLayout>
当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。 参考自该博文:http://www.cnblogs.com/xiaoQLu/archive/2012/10/22/2733631.html
android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"