前言

由于本人近期开始学习Android,也是菜鸟一枚,写博客也是为了及时巩固和分享所学,如文章有哪些冒犯或者歧义的地方请高抬贵手指教谢谢!!

gravity 跟 layout_gravity的区别

gravity主要是对View中内容的限定,例如一个Button中文字的居中,若使用layout_gravity将无效果

<RelativeLayout  android:id="@+id/top" android:layout_width="200dip" android:layout_height="200dip" android:background="@color/colorPrimaryDark">            <Button  android:gravity="left|center" android:textColor="@color/colorAccent" android:text="点我会怀孕" android:layout_width="150dip" android:layout_height="wrap_content" />    </RelativeLayout>这里需要注意的是gravity="left|center"是水平向左,垂直居中的意思>>layout_gravity则是对该view相对父view的位置,类似于CSS中的盒子模型,子容器相对父容器的位置     <RelativeLayout  android:id="@+id/top" android:layout_width="200dip" android:layout_height="200dip" android:background="@color/colorPrimary">        <LinearLayout  android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">            <Button  android:layout_width="150dip" android:layout_height="wrap_content" android:layout_gravity="right" android:text="点我会怀孕" android:textColor="@color/colorAccent" />        </LinearLayout>    </RelativeLayout>

在这里可能会有人觉得代码没必要这么麻烦,之所以这样是本人在学习过程中忽略了layout_gravity是LinearLayout的特有属性,导致浪费了稍微多一点的时间,希望一起学习的新手们不要犯像我这相同的错误!!

然而聪明的小伙伴实现代码效果只看到Button只是水平上的居中,那如何实现垂直方向上也居中呢???

这时聪明的你可能脑海里涌现的不止一种解决方案,本人不才,只是想到了俩种,以下是我的思路

1.利用相对布局中的layout_centerVertical,layout_centerHorizontal

2.利用layout_marginLeft,layout_marginTop(此方法存在局限性)

如果有更好的方法,求高手指教,共同进步,谢谢O(∩_∩)O!!

更多相关文章

  1. java反射机制 调用android得隐藏api
  2. android键盘输入读取
  3. android平台移植总结
  4. Android(安卓)完美退出 App 方法
  5. Android(安卓)创建桌面快捷方式
  6. Android(安卓)Kotlin的使用及简单实例
  7. Android主流三方库源码分析(七、深入理解ButterKnife源码)
  8. 从源码角度一步步分析AsyncTask的用法与原理
  9. Android平滑移动——Scroller类研究

随机推荐

  1. 不会CSS的痛
  2. C语言复习(一)
  3. Mac版本的Sublime Text常用快捷键
  4. 从零开始开发、运营小程序的5点感受
  5. Java知识体系、面试、算法、微服务的学习
  6. 十道算法题[二]
  7. Java8如何让自己的代码不那么啰嗦?!
  8. 《Head First Servlets and JSP 2nd Edit
  9. 插入排序(Insertion Sort)
  10. 开发运营博客、公众号、小程序的 3 点感