相关疑难解决方法(0)

带有圆角的ImageView中的位图

我有一个ImageView,我想用它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="@null"/>    

    <stroke android:width="1dp"
            android:color="#ff000000"/>


    <corners android:radius="62px"/> 
</shape>
Run Code Online (Sandbox Code Playgroud)

并将此代码设置为我的imageview的背景.它可以工作,但我放在它上面的src图像ImageView是走出边界而不适应新的形状.

我该如何解决这个问题?

android bitmap rounded-corners imageview

47
推荐指数
7
解决办法
5万
查看次数

我应该如何在Android中为图像提供圆角?

我想改变我加载的图像有圆角.

您知道的任何提示,教程,最佳实践?

java android image

38
推荐指数
5
解决办法
4万
查看次数

Android - 描边内部路径

我想绘制一个使用路径宽度为5的路径定义的形状,其中所有笔划都在路径内,而不是内部笔划的一半和外部的一半.

谢谢,

卡尔

android

9
推荐指数
1
解决办法
5037
查看次数

如何创建一个圆角矩形,不同颜色的不同部分

需求

如何创建看起来像这样的视图.

在此输入图像描述

我想在屏幕上绘制一个视图,该视图分为几段,显示整个视图的值百分比.我的要求是

  • 视图具有不同颜色的不同部分
  • 视图可能没有渲染所有部分,它可能只有前2个或第一个和最后一个或只有一个颜色等 - 这只在运行时已知
  • 不同部分的大小仅在运行时已知,因此需要以编程方式指定
  • 整个视图的左右角都是圆形的

我想过的想法/事情

(1)自定义视图并排渲染3个矩形

我尝试了一个自定义视图,它可以并排显示3个矩形.但这些显然有方角.

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    int viewHeight = 50;

    canvas.drawrect(0,  0, 60,  viewHeight, paint); // A
    canvas.drawrect(60, 0, 120, viewHeight, paint); // B
    canvas.drawrect(120,0, 180, viewHeight, paint); // C
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

(2)圆角形状

我知道我可以使用Shape来定义带有圆角的矩形,但是这是一种颜色.

<shape xmlns:android="http://schemas.android.com/apk/res/android">
     ...        
    <corners
        android:radius="4dp" />
    ....
</shape>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

(3)层列表

具有两种不同颜色的Android矩形形状,我看到我可以使用图层列表来指定形状中的每个项目以具有不同的颜色.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">       

    <item>
        <shape android:shape="rectangle">
            <size
                android:width="40dp"
                android:height="40dp" />
            <solid android:color="#F86F05" />
        </shape>
    </item>

    <item android:top="10dp">
        <shape android:shape="rectangle">
            <size
                android:width="30dp" …
Run Code Online (Sandbox Code Playgroud)

android

7
推荐指数
1
解决办法
680
查看次数

clipPath上的UnsupportedOperationException

使用Canvas clipPath时,我得到UnsupportedOperationException.

这发生在HTC Sensation XE(4.0.3)上.它在其他4.0.3设备上运行良好.

这是代码:

    @Override
protected void dispatchDraw(Canvas canvas) {
    canvas.save();
    canvas.clipPath(this._mClip);
    super.dispatchDraw(canvas);
    canvas.restore();
}
Run Code Online (Sandbox Code Playgroud)

它在带有以下堆栈的"clipPath"上失败:

11-06 12:05:53.650: E/AndroidRuntime(25021): FATAL EXCEPTION: main

11-06 12:05:53.650: E/AndroidRuntime(25021): java.lang.UnsupportedOperationException
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at com.applicat.meuchedet.views.RoundedListView.dispatchDraw(RoundedListView.java:76)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.View.draw(View.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.widget.AbsListView.draw(AbsListView.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.widget.ListView.draw(ListView.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.View.getDisplayList(View.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.ViewGroup.drawChild(ViewGroup.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.ViewGroup.dispatchDraw(ViewGroup.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.View.getDisplayList(View.java)
11-06 12:05:53.650: E/AndroidRuntime(25021):    at android.view.ViewGroup.drawChild(ViewGroup.java)
11-06 12:05:53.650: …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

4
推荐指数
1
解决办法
4088
查看次数