没有可绘制对象的 TextView 背景
TextView Background without drawable
我想让我的 TextView 背景颜色没有左边的可绘制对象,如下所示:
但是当我尝试这样做时,我得到了这样的结果:
这是我的文本视图代码:
<TextView
android:id="@+id/Typetxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/space0"
android:drawableStart="@drawable/ic_type_icon"
android:drawablePadding="10dp"
android:textColor="@color/black"/>
在适配器中,这是为背景着色的代码:
holder.Typetxt.setText(posts.getTRADE_TYPE_NAME());
if(posts.getTRADE_TYPE_NAME().equals("VL")){
holder.Typetxt.setTextColor(Color.parseColor("#FF7464"));
holder.Typetxt.setBackgroundResource(R.drawable.vl_background);
holder.cardViewMain.setBackgroundResource(R.color.VLBackground);
背景是为整个视图设置的 - 而不仅仅是文本。如果您使用的是 drawableStart,则包含可绘制对象。如果您不想那样,请使用 2 个视图,一个 ImageView 和一个 TextView。
您可以在不使用可绘制对象的情况下制作此布局。将 cardView's
背景色设置为与左侧条上所需的颜色相同。在里面添加一个 ConstraintLayout
并给这个 ConstraintLayout
白色背景颜色和一个 marginStart
任何你想要你的条带宽度的大小。
<androidx.cardview.widget.CardView
android:id="@+id/cvContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardBackgroundColor="@color/orange"
app:cardCornerRadius="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_marginStart="12dp"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Lorem \nipsum \ndolor" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
结果
我想让我的 TextView 背景颜色没有左边的可绘制对象,如下所示:
但是当我尝试这样做时,我得到了这样的结果:
这是我的文本视图代码:
<TextView
android:id="@+id/Typetxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/space0"
android:drawableStart="@drawable/ic_type_icon"
android:drawablePadding="10dp"
android:textColor="@color/black"/>
在适配器中,这是为背景着色的代码:
holder.Typetxt.setText(posts.getTRADE_TYPE_NAME());
if(posts.getTRADE_TYPE_NAME().equals("VL")){
holder.Typetxt.setTextColor(Color.parseColor("#FF7464"));
holder.Typetxt.setBackgroundResource(R.drawable.vl_background);
holder.cardViewMain.setBackgroundResource(R.color.VLBackground);
背景是为整个视图设置的 - 而不仅仅是文本。如果您使用的是 drawableStart,则包含可绘制对象。如果您不想那样,请使用 2 个视图,一个 ImageView 和一个 TextView。
您可以在不使用可绘制对象的情况下制作此布局。将 cardView's
背景色设置为与左侧条上所需的颜色相同。在里面添加一个 ConstraintLayout
并给这个 ConstraintLayout
白色背景颜色和一个 marginStart
任何你想要你的条带宽度的大小。
<androidx.cardview.widget.CardView
android:id="@+id/cvContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardBackgroundColor="@color/orange"
app:cardCornerRadius="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_marginStart="12dp"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Lorem \nipsum \ndolor" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>