为了账号安全,请及时绑定邮箱和手机立即绑定

LinerLayout中的gravity与控间中的gravity问题

由于我不会截图,请各位将就一下!!!

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:gravity="bottom|center_horizontal"

    android:orientation="vertical" >


    <Button

        android:id="@+id/button1"

        android:layout_gravity="top"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Button" />

       

</LinearLayout>


LinearLayout中的布局为底部的中间,可是又在控件中加入布局为顶部,结果控件却显示在左下方




正在回答

1 回答

个人理解:

1、首先在vertical的线性布局中设置top和bottom的意义是设置这个线性布局的对齐模式 —— 底部对齐或者顶部对齐 —— 这一点子类是无法更改的(关于这一点你可以再写一个button2,看他们待排列格式)

2、其次,布局xml文件也遵循从上到下的执行顺序,因此子控件自身设置的layout_gravity会覆盖全局设置的gravity —— 但是对齐模式没法覆盖。

3、所以button相当于用空参数覆盖掉了父容器的layout_gravity参数。因此对于button来说,就是没有指定gravity,且将父容器中设置的水平居中也覆盖掉了。

0 回复 有任何疑惑可以回复我~
#1

倾入她城_ 提问者

稍微有点懂了,非常感谢
2016-05-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

LinerLayout中的gravity与控间中的gravity问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信