android– 如何使用没有填充的选项的FAB,但仍然有它的高度?

android– 如何使用没有填充的选项的FAB,但仍然有它的高度?,第1张

概述背景我有一个小圆形联系人照片视图,我需要向用户显示.如果照片可用,我应该显示它,同时图像圆形到圆形,并有一个高程.如果照片不可用,我会在里面显示一个带有背景的图标,同时它仍然是圆形的并且有高度.问题我设法让照片显示仅适用于Android5及更高版本:但是,当它试图显示FAB

背景

我有一个小圆形联系人照片视图,我需要向用户显示.
如果照片可用,我应该显示它,同时图像圆形到圆形,并有一个高程.

如果照片不可用,我会在里面显示一个带有背景的图标,同时它仍然是圆形的并且有高度.

问题

我设法让照片显示仅适用于Android 5及更高版本:

但是,当它试图显示FAB的背景时,它的边缘颜色很差,并且在AndroID 4.x及其下面它显示为一个简单的矩形内容,没有任何与FAB相关的内容,可能是因为填充是什么的保护它以显示阴影.

我还需要能够添加笔划(圆形图像周围的细线特定颜色),但我不确定如何添加它.

我试过的

这是在布局文件中:

<androID.support.design.Widget.floatingActionbutton    androID:ID="@+ID/image"    androID:layout_wIDth="@dimen/test"    androID:layout_height="@dimen/test"/>

“测试”是80dp.

这是在代码中:

    floatingActionbutton floatingActionbutton = (floatingActionbutton) vIEw.findVIEwByID(R.ID.image);    floatingActionbutton.setpadding(0, 0, 0, 0);    final Bitmap bitmap = ...    RoundedCornersDrawable roundedCornersDrawable = new RoundedCornersDrawable(getResources(), bitmap, bitmap.getWIDth() / 2);    floatingActionbutton.setimageDrawable(roundedCornersDrawable);

RoundedCornersDrawable的代码:

public class RoundedCornersDrawable extends BitmapDrawable {    private final BitmapShader bitmapShader;    private final Paint p;    private final RectF rect;    private final float borderRadius;    public RoundedCornersDrawable(final Resources resources, final Bitmap bitmap, final float borderRadius) {        super(resources, bitmap);        bitmapShader = new BitmapShader(getBitmap(), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);        final Bitmap b = getBitmap();        p = getPaint();        p.setAntiAlias(true);        p.setShader(bitmapShader);        final int w = b.getWIDth(), h = b.getHeight();        rect = new RectF(0, 0, w, h);        this.borderRadius = borderRadius < 0 ? 0.15f * Math.min(w, h) : borderRadius;    }    @OverrIDe    public voID draw(final Canvas canvas) {        canvas.drawRoundRect(rect, borderRadius, borderRadius, p);    }}

这个问题

如何让FAB以这种方式工作?对于所有AndroID版本,我如何随意禁用填充,但仍然有带阴影的圆角图像?

如何在圆角FAB中添加笔划?

解决方法:

我觉得我写这篇文章的速度太快了,而这里似乎已有一篇关于它的内容:

How to add a shadow and a border on circular imageView android?

我将看看它,看看它是否符合我的需求.

编辑:它看起来不像FAB(尤其是阴影),而且我没有看到将小内容放在中心的能力,就像在FAB中一样.它始终将内容置于中心裁剪方式.

当然,我可以在其中放入一个较小尺寸的图像….

编辑:我想我这次找到了合适的图书馆:
https://github.com/lopspower/CircularImageView

它允许阴影,自定义阴影大小和颜色,以及边框,以及如何缩放图像.

它不是一个FAB,它没有能力将图像置于中心而不进行裁剪,但这对我来说已经足够了.

总结

以上是内存溢出为你收集整理的android – 如何使用没有填充的选项的FAB,但仍然有它的高度?全部内容,希望文章能够帮你解决android – 如何使用没有填充的选项的FAB,但仍然有它的高度?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1117259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存