android编程用怎么让控件的“右边”对齐在屏幕的中心?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android编程用怎么让控件的“右边”对齐在屏幕的中心?相关的知识,希望对你有一定的参考价值。

不是控件中心对齐在屏幕的中心!是右边对齐在中心线上,控件大小为50dp.

<?xml version="1.0" encoding="utf-8"?>
<!--
android:layout_above 将该控件的底部至于给定ID的控件之上
android:layout_below 将该控件的顶部至于给定ID的控件之下
android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐

android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘
android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
android:layout_alignTop 将给定控件的顶部边缘与给定ID控件的顶部对齐

android:alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
android:layout_alignParentLeft 如果该值为true,则将该控件的左边与父控件的左边对齐
android:layout_alignParentRight 如果该值为true,则将该控件的右边与父控件的右边对齐
android:layout_alignParentTop 如果该值为true,则将空间的顶部与父控件的顶部对齐

android:layout_centerHorizontal 如果值为真,该控件将被至于水平方向的中央
android:layout_centerInParent 如果值为真,该控件将被至于父控件水平方向和垂直方向的中央
android:layout_centerVertical 如果值为真,该控件将被至于垂直方向的中央

android:padding和android:layout_margin 通俗的理解 Padding 为内边框,Margin 为外边框
android:padding和android:layout_margin的区别,其实概念很简单,padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。

android:layout_gravity="center"
android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置..
android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左  靠右等位置就可以通过该属性设置.
参考技术A

你既然知道这个控件宽50dp,那就好办了啊!!!

我来给你写个代码吧? 假设这个Button是你的控件!

<!-- 这是父布局 -->
<LinearLayout
    android:layout_width="fill_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_horizontal" >
    <!-- 这个button是你的控件 -->
    <Button
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:text="你的控件"/>
    <!-- 在你的控件后再添加一个控件,50dp宽,显示为invisible -->
    <View
        android:visibility="invisible"
        android:layout_width="50dp"
        android:layout_height="1dp"
        android:background="#00000000">
</LinearLayout>

看代码: 首先因为父布局是水平的,而且有个重要的属性:gravity="center_horizontal"。所以在你的控件后再添一个visibility="invisible"的控件,同宽50dp,就把你的控件顶到前面去了,从屏幕上看起来,就是你的控件右边处于屏幕中间了!而且是不管怎么换分辨率,都始终处于屏幕中间!

 我的代码你可以直接复制到你程序中做试验看效果的。

同为代码工人,握手握手!纯手打的代码,非复制粘贴流。欢迎追问,也谢谢采纳答案。

本回答被提问者和网友采纳
参考技术B 自己用像素来控制吧追问

不好,不同手机还要计算麻烦。

追答

额,那我这里没有好方法了

android studio怎么让文字居中

参考技术A android:gravity="center",设置在textview中,使文字在textview中居中
android:layout_gravity="center",设置在textview中,使textview在父控件中居中

以上是关于android编程用怎么让控件的“右边”对齐在屏幕的中心?的主要内容,如果未能解决你的问题,请参考以下文章

一个水平的LinearLayout中 有2个控件,如何让左边的空间 左对齐 右边的控件右对齐?

Android View在没有XML的情况下对齐底部(以编程方式)

安卓layout布局,如何靠右

android studio怎么让文字居中

Android的HorizontalScrollView控件里面的自控件无论怎么设置,宽度都无法填满屏幕

android 怎样让两个button控件挨在一起,左右对齐 没有距离?