Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将ImageView资源设置为可绘制资源_Android_Android Layout_Android Image - Fatal编程技术网

Android 将ImageView资源设置为可绘制资源

Android 将ImageView资源设置为可绘制资源,android,android-layout,android-image,Android,Android Layout,Android Image,我正在尝试创建一个可绘制的代码,并根据一些标准更改颜色。当我尝试将Drawable设置为ImageView的背景时,它会显示,但不允许我设置任何填充。我意识到我需要通过setImageDrawable()函数设置ImageView图像,以便能够设置填充 我遇到的问题是,当我通过setImageDrawable()函数设置它时,没有显示任何内容 以下是我写的: <?xml version="1.0" encoding="utf-8"?> 这将为ImageView生成一个空间,但没有图

我正在尝试创建一个可绘制的代码,并根据一些标准更改颜色。当我尝试将Drawable设置为ImageView的背景时,它会显示,但不允许我设置任何填充。我意识到我需要通过setImageDrawable()函数设置ImageView图像,以便能够设置填充

我遇到的问题是,当我通过setImageDrawable()函数设置它时,没有显示任何内容

以下是我写的:

<?xml version="1.0" encoding="utf-8"?>
这将为ImageView生成一个空间,但没有图像

谢谢,
Rob

如果实现自定义ImageView的绘制方法,则只需在图像上绘制色调即可。想要拥有美丽的玫瑰色光泽,请尝试:

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

        Rect                frame;
        Paint               paint = new Paint();

        paint.setStyle( Style.FILL );
        paint.setARGB( 102 , 255 , 51 , 51 );
        frame = new Rect( 0, 0, getWidth(), getHeight() );
        canvas.drawRect( frame , paint );
    }

我对这一切都不太熟悉。我还能用以前的圆角来做吗?
    @Override
    protected void onDraw( Canvas canvas ) {
        super.onDraw( canvas );

        Rect                frame;
        Paint               paint = new Paint();

        paint.setStyle( Style.FILL );
        paint.setARGB( 102 , 255 , 51 , 51 );
        frame = new Rect( 0, 0, getWidth(), getHeight() );
        canvas.drawRect( frame , paint );
    }