我已经尝试了很多次,但我知道我错过了一些东西,你能不能请大家解释一下..以下是什么,我试过了
<ImageView
android:id="@+id/Dicimage"
android:layout_width="130px"
android:layout_height="100px"
android:src="@drawable/slang"
android:background="@drawable/corner"
android:padding="1dp"/>
在资源文件夹中创建了Corner XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#fff"/>
<stroke android:width="0dp"
android:color="#ff000000"/>
<padding android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/>
<corners android:radius="30px"/>
</shape>
我得到的是,边框只是圆角矩形,但图像仍然是矩形的形状
不,那是不可能的。你必须以编程方式完成它。
你正在做的是创建圆角背景并在其上绘制drawable。
这是关于如何从Romain Guy创建圆角图像的精彩文章:http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
试试这个 :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#ffffff"/>
<stroke android:width="3dp"
android:color="#ff000000"/>
<padding android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp"/>
<corners android:radius="30px"/>
</shape>
使用该xml文件作为前台
我的意思是,而不是
android:background="@drawable/corner"
用这个
android:foreground="@drawable/corner"
这是一个超级迟到的答案,但如果你想创建一个圆形的ImageView:
在drawable文件夹中创建一个名为circle的drawable:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@android:color/black"/>
<size
android:height="60dp"
android:width="60dp"/>
</shape>
ImageView的:
<ImageView
android:id="@+id/Dicimage"
android:layout_width="130px"
android:layout_height="100px"
android:src="@drawable/slang"
android:background="@drawable/circle"
android:padding="1dp"/>
您应该将此代码作为some_foreground.xml添加到drawable文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke
android:width="8dp"
android:color="@color/white" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="@dimen/padding_margin_8" />
<stroke
android:width="8dp"
android:color="@color/white" />
</shape>
</item>
</layer-list>
然后您可以将其用作ImageView的前景。你应该添加如下:
<ImageView
android:id="@+id/event_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foreground="@drawable/some_foreground"
android:scaleType="centerCrop"
android:src="@drawable/your_image" />
您可以在CardView中添加属性cardElevation = 0的ImageView
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/thumbnail_card"
card_view:cardCornerRadius="15dp"
card_view:cardElevation="0dp"
android:layout_margin="10dp">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="110dp"
android:layout_height="75dp"
android:scaleType="centerCrop" />
</android.support.v7.widget.CardView>