我开发了一个rss应用程序。我希望包含标题和图像的ListView具有带圆角的图像。我在网上拍了一个示例代码,但问题是图像仍然是矩形的。奇怪的是,我有一个滑动菜单,当切换它推动rss ListView,而它被推动图像有圆角!当他们停止推动动画时,它再次成为矩形。对我来说这是一个非常奇怪的问题所以任何帮助? 圆形图像类:
public class RoundedImageView extends ImageView
{
private float radius = 20.0f;
public RoundedImageView(Context context)
{
super(context);
}
public RoundedImageView(Context context,AttributeSet attrs)
{
super(context,attrs);
}
public RoundedImageView(Context context,AttributeSet attrs,int defStyle)
{
super(context,attrs,defStyle);
}
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas)
{
Path clipPath = new Path();
RectF rect = new RectF(0,0,getWidth(), getHeight());
clipPath.addRoundRect(rect, radius, radius, Path.Direction.CW);
canvas.clipPath(clipPath);
super.onDraw(canvas);
}
}
答案 0 :(得分:3)
尝试这种方式:将rounded_corner.xml
文件创建为drawable\rounded_corner.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#101010" />
<stroke
android:width="1dp"
android:color="#808080" />
<corners android:radius="15dp" />
将Background
设置为您的ImageView
android:background="@drawable\rounded_corner"
并将RSS
图片设为ImageView
Src
或Bitmap
,如:
imageview.setBitmap(yourrssimage);
答案 1 :(得分:0)
使用圆角图像或创建xml并在imageview上设置为背景图像。
答案 2 :(得分:0)
在drawable文件夹中创建如下所示的XML。
<强> button_back.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@color/grey">
<shape>
<solid
android:color="#ef4444" />
<stroke
android:width="1dp"
android:color="#992f2f" />
<corners
android:radius="16dp" />
</shape>
</item>
然后像这样应用于你的按钮。
<Button
android:text="@string/press_me"
android:layout_margin="12dp"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="@drawable/button_back"
/>
答案 3 :(得分:0)
创建笔划并将其列为imageview背景
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent"/>
<stroke android:width="5dip" android:color="@android:color/transparent" />
<corners android:radius="5dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>
在你的imageview xml中
android:background="@drawable/your_stroke_xml"