美文网首页
底部动态添加不同颜色标签

底部动态添加不同颜色标签

作者: 勤劳的蚂蚁 | 来源:发表于2020-03-10 17:33 被阅读0次
    image.png

    主布局

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:bind="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools">
       
        <data></data>
        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/dimen_96dp"
            android:background="@color/color_FFFFFF">
    
            <ImageView
                android:id="@+id/search_imgView"
                android:layout_width="@dimen/dimen_114dp"
                android:layout_height="@dimen/demen_69dp"
                android:layout_gravity="center"
                android:layout_marginLeft="@dimen/margin12"
                android:scaleType="fitXY"
                android:src="@mipmap/default_iv"
                bind:layout_constraintBottom_toBottomOf="parent"
                bind:layout_constraintLeft_toLeftOf="parent"
                bind:layout_constraintTop_toTopOf="parent" />
    
            <View
                android:id="@+id/search_view"
                android:layout_width="0dp"
                android:layout_height="0.5dp"
                android:layout_marginLeft="@dimen/margin12"
                android:layout_marginRight="@dimen/margin12"
                android:background="#eeeeee"
                android:visibility="visible"
                bind:layout_constraintBottom_toBottomOf="parent"
                bind:layout_constraintLeft_toLeftOf="parent"
                bind:layout_constraintRight_toRightOf="parent" />
    
    
    
            <TextView
                android:id="@+id/search_tv_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:includeFontPadding="false"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@color/color333333"
                android:textSize="@dimen/text12"
                bind:layout_constrainedWidth="true"
                bind:layout_constraintHorizontal_bias="0"
                bind:layout_constraintHorizontal_chainStyle="packed"
                bind:layout_constraintLeft_toRightOf="@+id/search_imgView"
                bind:layout_constraintRight_toRightOf="parent"
                bind:layout_constraintTop_toTopOf="@+id/search_imgView"
                android:layout_marginLeft="@dimen/margin12"
                android:layout_marginRight="@dimen/margin12"
                android:layout_marginTop="@dimen/margin5"
                tools:text="标题标题题题题标题" />
            <TextView
                android:id="@+id/search_tv_content"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/margin10"
                android:ellipsize="end"
                android:maxLines="1"
                android:textColor="@color/color666666"
                android:includeFontPadding="false"
                android:textSize="@dimen/text11"
                bind:layout_constraintLeft_toLeftOf="@+id/search_tv_title"
                bind:layout_constraintTop_toBottomOf="@+id/search_tv_title"
                bind:layout_constraintRight_toRightOf="parent"
                android:layout_marginRight="@dimen/margin12"
                tools:text="内容" />
            <!--    眼睛-->
            <TextView
                android:id="@+id/search_tv_eye"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/margin6"
                android:drawableLeft="@mipmap/eye"
                android:ellipsize="end"
                android:maxLines="1"
                android:drawablePadding="@dimen/margin5"
                android:textColor="@color/color666666"
                android:textSize="@dimen/text11"
                android:visibility="gone"
                android:layout_marginRight="@dimen/margin12"
                bind:layout_constraintRight_toRightOf="parent"
                bind:layout_constraintTop_toBottomOf="@+id/search_tv_content"
                tools:text="内容" />
    
                <LinearLayout
                    android:id="@+id/search_planbook_ll_label"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    bind:layout_constrainedWidth="true"
                    android:layout_marginLeft="@dimen/margin12"
                    android:layout_marginRight="@dimen/margin12"
                    bind:layout_constraintLeft_toRightOf="@+id/search_imgView"
                    bind:layout_constraintRight_toLeftOf="@+id/search_tv_eye"
                    android:visibility="visible"
                    bind:layout_constraintTop_toBottomOf="@+id/search_tv_content"
                    android:layout_marginTop="@dimen/margin6">
                </LinearLayout>
        </android.support.constraint.ConstraintLayout>
    </layout>
    
    
    

    标签布局

     <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        >
    
        <TextView
            android:id="@+id/tv_inner_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="@dimen/margin3"
            android:paddingRight="@dimen/margin3"
            android:textSize="@dimen/text10"
            android:layout_marginRight="@dimen/margin10"
            android:background="@drawable/shape_library_label"/>
    </FrameLayout>
    
    shape_library_label 样式为:
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!--圆角-->
        <corners android:radius="@dimen/dimen_2dp"/>
    </shape>
    
    private View setLabel(String content, String color, boolean isTopHotChoice) { //设置标签
            View label_item = View.inflate (mContext, R.layout.item_search_innerview, null);
            TextView label =  label_item.findViewById (R.id.tv_inner_label);
            try {
                label.setText (content);
              //  if (isTopHotChoice) {
             //       label.setTextColor (Color.parseColor ("#ffffff"));
             //       GradientDrawable p = (GradientDrawable) label.getBackground ();
             //       p.setColor (Color.parseColor (color));
            //        p.setStroke (DensityUtil.dp2px (mContext, 1), Color.parseColor (color));
            //    } else {
                    label.setTextColor (Color.parseColor (color));
                    GradientDrawable p = (GradientDrawable) label.getBackground ();
                    p.setColor (Color.parseColor ("#ffffff"));
                    p.setStroke (DensityUtil.dp2px (mContext, 1), Color.parseColor (color));
             //   }
            } catch (Exception e) {
                e.printStackTrace ();
            }
            return label_item;
        }
    
    设置其他属性:
    
    ((ViewHolder) holder).getBinding ().searchLlLabel.removeAllViews ();
                if ("1".equals (knowledgeBean.getTopFlag ())) {
                    View textTop = setKnowLedgeLabel ("置顶", "#FDB302", true);
                    ((ViewHolder) holder).getBinding ().searchLlLabel.addView (textTop);
                }
                if ("1".equals (Bean.getChoiceFlag ())) {
                    View textChoice = setLabel ("精华", "#30CA07", true);
                    ((ViewHolder) holder).getBinding ().searchLlLabel.addView (textChoice);
                }
                if ("1".equals (Bean.getHotFlag ())) {
                    View textHot = setLabel ("热点", "#FF5722", true);
                    ((KViewHolder) holder).getBinding ().searchLlLabel.addView (textHot);
                }
                for (int i = 0; i < Bean.getLabels ().size (); i++) {
                    if (((ViewHolder) holder).getBinding ().searchLlLabel.getChildCount () < 5) {
                        View label = setLabel (Bean.getLabels ().get (i).getName (), Bean.getLabels ().get (i).getColor (), false);
                        ((ViewHolder) holder).getBinding ().searchLlLabel.addView (label);
                    }
                }
    

    相关文章

      网友评论

          本文标题:底部动态添加不同颜色标签

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