我用笔画定义了Drawable
,但是笔画没有出现在UI上。
<ImageView
android:id="@+id/otherSecurityLaneImageView"
android:layout_width="130dp"
android:layout_height="52dp"
android:layout_marginStart="10dp"
android:padding="10dp"
android:background="@drawable/ll_rounded_corners_6dp"
android:backgroundTint="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/poi_icon_security_lane_clear" />
@drawable/ll_rounded_corners_6dp
的定义方式如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="20dp" android:color="@color/ll_red" />
<corners android:radius="6dp" />
</shape>
我希望在Android Studio设计视图中的ImageView
周围看到一条红色的粗边框,但不会出现。
答案 0 :(得分:1)
您可以使用各种组合:
app:backgroundTint="@android:color/holo_green_light"
app:backgroundTintMode="multiply"
ll_rounded_corners_6dp.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="20dp" android:color="@android:color/holo_red_dark" />
<corners android:radius="6dp" />
<solid android:color="@android:color/holo_blue_dark" />
</shape>
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/darker_gray"
tools:context=".MainActivity">
<ImageView
android:id="@+id/ImageView1"
android:layout_width="150dp"
android:layout_height="60dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/ll_rounded_corners_6dp"
android:padding="10dp"
android:src="@mipmap/ic_launcher_round"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ImageView2"
android:layout_width="150dp"
android:layout_height="60dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/ll_rounded_corners_6dp"
android:padding="10dp"
android:src="@mipmap/ic_launcher_round"
app:backgroundTint="@android:color/holo_green_light"
app:backgroundTintMode="multiply"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ImageView1" />
<ImageView
android:id="@+id/ImageView3"
android:layout_width="150dp"
android:layout_height="60dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/ll_rounded_corners_6dp"
android:padding="10dp"
android:src="@mipmap/ic_launcher_round"
app:backgroundTint="@android:color/holo_blue_light"
app:backgroundTintMode="screen"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ImageView2" />
</android.support.constraint.ConstraintLayout>
答案 1 :(得分:1)
我尝试了您的代码。您的可绘制代码很好。
但是为了显示笔画,layoit xml代码需要进行一些更改,
只需删除android:backgroundTint="@color/white"
,因为它不会出现背景色笔触,主要原因是backgroundTint
将颜色设置为ImageView的背景。
如果您需要使用backgroundTint
,则可以使用与笔触颜色相同的颜色。
请尝试以下代码:
<ImageView
android:id="@+id/otherSecurityLaneImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="10dp"
android:background="@drawable/ll_rounded_corners_6dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@mipmap/ic_launcher" />
我希望它对您有用。
答案 2 :(得分:0)
经过反复试验,我从stroke
中删除了android:backgroundTint
参数,使ImageView
出现了。我找不到有关它的文档。我还尝试了不同的android:tintMode
,但没有一个帮助。