底部居中对齐android_android居中对齐 - CSDN
  • 我使用以下代码动态的生成了 RadioButtons: RadioButton radioButton=new RadioButton(context); LayoutParams layoutParams=new ...我用什么方法可以把所有的按钮按竖排排列,并都居中对齐呢?
  • 想要实现主体文字突出显示,前面是数值加粗,后面是单位符号,且底部对齐数值显示的效果;但是不同TextView字体大小排版后总是有些差别,无法底部对齐。百度一番后有重写TextView的,还有其它布局对齐等方法,效果并...

    前言

    想要实现主体文字突出显示,前面是数值加粗,后面是单位符号,且底部对齐数值显示的效果;但是不同TextView字体大小排版后总是有些差别,无法底部对齐。百度一番后有重写TextView的,还有其它布局对齐等方法,效果并不好使。突然想起之前写的SpannableStringBuilder,其中AbsoluteSizeSpan可实现同一个TextView文字大小变化,而且底部是对齐的,于是就拿来使用。效果如下:

    底部对齐.jpg

    方法

    主要是使用底部绝对尺寸AbsoluteSizeSpan来使TextView显示内容分割后不同大小显示,且使用ForegroundColorSpanStyleSpan来达到不同颜色及加粗显示,突出主题内容。

    private void setBottomAlignment(TextItem item) {
        SpannableStringBuilder spanString = new SpannableStringBuilder(item.getValue() + "  " + item.getUnit());
        //绝对尺寸
        AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(60);
        spanString.setSpan(absoluteSizeSpan, String.valueOf(item.getValue()).length(), spanString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        // 字体颜色
        ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.GRAY);
        spanString.setSpan(colorSpan, String.valueOf(item.getValue()).length(), spanString.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
        // 字体加粗
        StyleSpan styleSpan = new StyleSpan(Typeface.BOLD);
        spanString.setSpan(styleSpan, 0, String.valueOf(item.getValue()).length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        mTvNumberUnit.setText(spanString);
    }
    

    还有更多关于TextView图文显示,分别设置点击事件等有趣使用,请查看SpannableStringBuilder实现TextView华丽变身 。例子已上传至Github开发记录,欢迎点击查阅及Star,我也会继续补充其它有用的知识及例子在项目上。

    欢迎点赞/评论,你们的赞同和鼓励是我写作的最大动力!

    关注公众号:几圈年轮,查看更多有趣的技术、工具、闲言、资源。
    公众号.png

    展开全文
  • 方法一:View 的上、下、左、右、居中对齐是界面中经常接触到的布局效果。单独某种对齐方式有很多种写法。但同一个方向的各种对齐布局,FrameLayout 是最容易实现的。每个View对一个的xml标签都有一个android:...

    解析:使用FrameLayout 可以很容易解决这个问题,

    方法一:View 的上、下、左、右、居中对齐是界面中经常接触到的布局效果。单独某种对齐方式有很多种写法。但同一个方向的各种对齐布局,FrameLayout 是最容易实现的。每个View对一个的xml标签都有一个android:layout_gravity属性,通过设置该属性,可以在FrameLayout 中实现任何方向的对齐布局。由于FrameLayout中的VIew是层叠显示的,因此,可以单独对待FrameLayout 中的每一个View。这一点与LinearLayout差异很大。在LinearLayout中的View并不是对每一个android:layout_gravity 属性的值都起作用。 如android:orientation 属性的值为horizontal ,LInearLayout 中的View都会水平排列,但VIew的android:layout_gravity 属性只有在垂直(如bottom、center_vertical 等)方向的值才起作用。

    当然除了FrameLaout还可以使用嵌套LinearLayout,而且,LinearLayout中使用最常见。

       方法二:由于水平对齐必须将LinearLayout 标签的android:orientation 属性设置 为 vertical  。因此,可以在一个水平线性布局中放置三个垂直线性布局的LinearLayout,并将android:layout_weight 属性值设置为1,最后将android:layout_width 属性设置为fill——parent 。这样三哥哥垂直线性布局的LInearLayout 就会水平三等分进行排列。然后分别在这3个LinearLayout 设置成不同的背景色,看一下布局后的效果,如果所示。

     

    具体布局如下:

    <?xml version="1.0" encoding="utf-8"?>
    <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"
        android:orientation="horizontal"
        tools:context=".TETActivity">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:background="#f00">
            <!-- 左对齐的按钮-->
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="我的按钮1"/>
    
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:background="#0f0">
            <!-- 居中对齐的按钮-->
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="我的按钮2"/>
    
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:background="#00f">
            <!-- 右对齐的按钮-->
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:text="我的按钮3"/>
    
        </LinearLayout>
    
    </LinearLayout>

     

    展开全文
  • 本来relalayout中有个底部对齐是否选项,线性布局中没有,但是,在线性布局中需要,那么如此操作即可: android:layout_height="0dp" android:layout_weight="1"

    本来relalayout中有个底部对齐是否选项,线性布局中没有,但是,在线性布局中需要,那么如此操作即可:

    
    android:layout_height="0dp" 
    android:layout_weight="1"
    
    
    展开全文
  • 在RelativeLayout中,想要layout中的各种控件相对于父RelativeLayout为居中对齐,一般情况下,我们可以设置RelativeLayout的layout_gravity="center",如下代码:   &lt;RelativeLayout ...

    在RelativeLayout中,想要layout中的各种控件相对于父RelativeLayout为居中对齐,一般情况下,我们可以设置RelativeLayout的layout_gravity="center",如下代码:

     

    <RelativeLayout 
    	 		        android:layout_width="fill_parent"
    	 		        android:layout_height="wrap_content"
    	 		        android:background="@drawable/insurance_kinds_bg"
    	 		        android:gravity="center">
    	 		        <TextView 
    	 		            android:layout_width="wrap_content"
    	 		            android:layout_height="wrap_content"
    	 		            android:text="待选配件列表"
    	 		            android:textSize="18px"
    	 		            android:textColor="@color/red"
    	 		            android:layout_centerVertical="true"
    	 		            android:layout_alignParentLeft="true"/>
    	 		        <Button 
    	 		            android:layout_width="wrap_content"
    	 		            android:layout_height="wrap_content"
    	 		            android:text="添加>>"
    	 		            android:textSize="18px"
    	 		            android:layout_centerVertical="true"
    	 		            android:layout_alignParentRight="true"/>
    	 		    </RelativeLayout>
       

    但在实际使用时,TextView和Button并不能放在中间,即layout_gravity=“center”并未起到作用。要想作居中显示,不能在RelativeLayout中设置layout_gravity="center",而是应该在每个子view中进行设置,如下

     

    <RelativeLayout 
    	 		        android:layout_width="fill_parent"
    	 		        android:layout_height="wrap_content"
    	 		        android:background="@drawable/insurance_kinds_bg"
    	 		        android:gravity="center">
    	 		        <TextView 
    	 		            android:layout_width="wrap_content"
    	 		            android:layout_height="wrap_content"
    	 		            android:text="待选配件列表"
    	 		            android:textSize="18px"
    	 		            android:textColor="@color/red"
    	 		            android:layout_centerVertical="true"
    	 		            android:layout_alignParentLeft="true"/>
    	 		        <Button 
    	 		            android:layout_width="wrap_content"
    	 		            android:layout_height="wrap_content"
    	 		            android:text="添加>>"
    	 		            android:textSize="18px"
    	 		            android:layout_centerVertical="true"
    	 		            android:layout_alignParentRight="true"/>
    	 		    </RelativeLayout>
     

    这样即可达到想要的效果

    展开全文
  • android:baselineAligned="false
  • android的ImageSpan类提供了图文混排的
  • 概述众所周知,Android图文混排可以通过SpannableString来实现,通过在相应位置使用ImageSpan替换即可,但是使用过的人会发现,imageSpan只提供了两种对齐方式,如下所示: /** 底部对齐 */ public static final...
  • android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layout_...
  • 一个View宽充满父窗体,高100dp,想实现另一个View的中心和这个View的底部对齐如何实现?
  • TextView 图文混排,图文居中对齐
  • 本以为,这个挺简单的,但是没想到文字加上后,...中间的红线是中心线,但是文字却不是跟中心对齐的,而是文字底部跟中心线平齐。 这显然不符合按钮的显示啊,查阅了一下资料,发现,自定义view在drawText时候,这...
  • 如图需要在文本的前边显示新上标签,开始的处理方法是用了两个空间分别显示标签和文本,但是有个问题是第二行的文本不能顶头对齐,很不美观.我们可以通过图文混排来解决上述问题,通过SpannableString来实现,在相应位置...
  • Android ConstraintLayout约束布局的居中xml代码: <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app=...
  • android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="@dimen/y15" ...
  • 自定义ImageSpan 实现文字与图片的居中对齐
  • android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layout_...
  • 接着上一篇文章 自定义view(四):自定义view实现动态按钮 今天在自定义view中加上一个文字显示。 本以为,这个挺简单的,但是没想到文字加上后,...中间的红线是中心线,但是文字却不是跟中心对齐的,而是文字底部
  • 做了一个底部导航栏,使用的RadioButton,类似微信那种,遇到一个不居中的问题,最后发现很简单的一个tip。 Radio背景图片和文字居中 在编辑器上运行显示是正确的样式,安装到模拟器上运行就是不ok的,请看对比: ...
1 2 3 4 5 ... 20
收藏数 5,058
精华内容 2,023
关键字:

底部居中对齐android