美文网首页
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