美文网首页
TextView 换行,左边是其它控件

TextView 换行,左边是其它控件

作者: 一个冬季 | 来源:发表于2019-08-20 20:09 被阅读0次
    学习地址

    Android TextView 缩进指定距离

    XA49RPO5ZT8MBBF%RQ_01G9.png
    问题描述

    如上面,黄色的是一个TextView设置shape完成的,黑色的就是正常的TextView,如果我们单独采用FrameLayout,右边黑色的会被黄色的挡住,如果采用Linlayout,黑色的第二行的首行不会在黄色的左边缘

    学习到的知识点

    我们采用LeadingMarginSpan.Standard(int first, int rest) 方法,第一个参数表示首行缩进多少像素,第二个参数表示其余行数缩进多少像素

    解决办法
                               <FrameLayout
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content">
                                  <!--黄色的-->
                                    <TextView
                                        android:id="@+id/bt_fragment_goods_info_title"
                                        android:layout_width="wrap_content"
                                        android:layout_height="@dimen/dp_20"
                                        android:paddingLeft="@dimen/dp_10"
                                        android:paddingRight="@dimen/dp_10"
                                        android:gravity="center"
                                        android:background="@drawable/shape_rectangle_solid_ffb400_corner5"
                                        android:text=""
                                        android:textColor="@color/white"
                                        android:textSize="@dimen/sp_12" />
    
                                    <TextView
                                        android:id="@+id/tv_goods_title"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:ellipsize="end"
                                        android:gravity="left"
                                        android:lineSpacingExtra="@dimen/dp_4"
                                        android:maxLines="2"
                                        android:text=""
                                        android:textColor="#222222"
                                        android:textSize="@dimen/sp_15" />
                                </FrameLayout>
    
    TextView tvArea = rootView.findViewById(R.id.bt_fragment_goods_info_title);
    TextView tvGoodsTitle= rootView.findViewById(R.id.tv_goods_title);
    tvArea.setText("啦啦啦啦啦");
     tvArea.post(new Runnable() {
                        @Override
                        public void run() {
                            SpannableString spannableString = new SpannableString("雅诗兰黛口红333 倾慕哑光唇膏保湿防水干枫叶色杨幂同款");
    //tvArea.getWidth()就是黄色的宽度
                            LeadingMarginSpan.Standard what = new LeadingMarginSpan.Standard(tvArea.getWidth()+ DensityUtil.getInstance().dip2px(5), 0);
                            spannableString.setSpan(what , 0, spannableString.length(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
                            tvGoodsTitle.setText(spannableString);
                        }
                    });
    

    相关文章

      网友评论

          本文标题:TextView 换行,左边是其它控件

          本文链接:https://www.haomeiwen.com/subject/nmsmsctx.html