相关疑难解决方法(0)

如何向Imageview显示边框?

朋友如何向Imageview显示边框?

我希望结果像移动画廊所有图像显示带边框.

请给我提前谢谢....

android image border imageview android-imageview

12
推荐指数
2
解决办法
5万
查看次数

ImageView正在重新调整大小,同时在其上绘制边框形状

这是我放在我的drawable文件夹中的shape_two文件.

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<solid android:color="#00FFFFFF" />

<stroke
    android:width="3dp"
    android:color="#00ff00" />

</shape>
Run Code Online (Sandbox Code Playgroud)

这是我绘制形状的代码

private void drawLayer(ImageView tempView, Drawable drble, int wherecall) {

    Drawable drawableRes = getResources()
            .getDrawable(R.drawable.shape_two);// loadDrawable(R.drawable.shape_two);
            int h = tempView.getMeasuredHeight();
    int w = tempView.getMeasuredWidth();
    drawableRes.setBounds(0, 0, w, h);
    Drawable[] drawableLayers = { drble, drawableRes };
    ld = new LayerDrawable(drawableLayers);
    if (wherecall != 3) {
        tempView.setBackground(ld);
    } else {
        tempView.setImageDrawable(ld);
    }
    td = new TransitionDrawable(drawableLayers);
    td.setCrossFadeEnabled(true);

}
Run Code Online (Sandbox Code Playgroud)

这里tempview是我的ImageView和drble是另一个drawable我在另一层使用.此代码没有任何错误消息正常工作.

我的问题是当我在我的ImageViews上绘制形状时,它会重新调整大小(更改高度和宽度).我有不同大小的imageView,我想使用单一形状的xml绘制边框,我的ImageView大小不应该这样做.任何人都可以告诉我如何实现它.

搜索了很多东西后我才知道我不能对它进行位图操作,根据形状重新调整大小,因为xml文件不是位图.我在某地读过这个问题可以通过使用canvas来解决但是怎么做..

更新:

我观察到,虽然更改图层onsingletap只有高度增加而不是ImageView的宽度.如果我的布局有4个ImageView,那么第一次只在不同的imageView上单击,所有imageView重新调整大小一次.之后,如果我们再次点击 - 再没有什么可以重新调整大小.我想在第一次在ImageView重新设置视图上设置图层,然后调整自己.我不知道为什么会发生这种情况.

我正在为我的所有布局应用相同的代码,对于某些布局,它的工作正常,有些则不是.

我还试过了什么.

  1. 我试过通过GradientDrawable制作边框图像

     GradientDrawable gd …
    Run Code Online (Sandbox Code Playgroud)

android shape layer imageview android-canvas

5
推荐指数
1
解决办法
1218
查看次数