标签: drawable

如何在android中按名称访问可绘制资源

在我的应用程序中,我需要在某些地方获取一些位图drawable,我不想保留引用R.所以我创建了一个类DrawableManager来管理drawables.

public class DrawableManager {
    private static Context context = null;

    public static void init(Context c) {
        context = c;
    }

    public static Drawable getDrawable(String name) {
        return R.drawable.?
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我想通过这个名字得到drawable(car.png放在res/drawables中):

Drawable d= DrawableManager.getDrawable("car.png");
Run Code Online (Sandbox Code Playgroud)

但是正如您所看到的,我无法通过名称访问资源:

public static Drawable getDrawable(String name) {
    return R.drawable.?
}
Run Code Online (Sandbox Code Playgroud)

任何替代品?

android drawable

65
推荐指数
4
解决办法
6万
查看次数

错误:找不到符号变量abc_ic_ab_back_mtrl_am_alpha

我使用了一个Fragment到我的Android Studio项目New > Fragment > Fragment (Blank).其结果是,当我尝试运行,该项目将无法编译,因为它解决不了R.drawable.abc_ic_ab_back_mtrl_am_alpha

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

看起来我也失去了访问权限 android:buttonTint

android drawable android-layout android-resources android-studio

63
推荐指数
4
解决办法
2万
查看次数

修改android drawable的颜色

我希望能够使用相同的drawable来代表两者:

蓝色图标红色图标

作为相同的drawable,并根据一些编程值重新着色drawable,以便最终用户可以重新设置界面主题.

做这个的最好方式是什么?我曾尝试过(并重用了之前的图标)这个以前的问题,但我无法将这种变化表现为色调的简单变化,因为它的饱和度和值也各不相同.

是否最好将图标存储为我想要更改的区域中的所有白色?还是透明的?还是其他一些纯色?

是否有一些方法可以让你根据red_icon的颜色和blue_icon的颜色之间的差异找出矩阵?

android themes drawable

60
推荐指数
3
解决办法
6万
查看次数

android getIntrinsicHeight和getIntrinsicWidth是什么意思?

嗨,我对Android Drawable类的两种方法感到困惑

getIntrinsicHeight()
getIntrinsicWidth()
Run Code Online (Sandbox Code Playgroud)

api定义说 http://developer.android.com/reference/android/graphics/drawable/Drawable.html#getIntrinsicHeight()

内在高度/宽度是什么意思?我的意思是它是实际图像的宽度?

android drawable

59
推荐指数
2
解决办法
3万
查看次数

形状可绘制为背景,底部有一条线

我使用drawable作为TextView的背景,只是在文本下面有一个分隔线.用这个drawable-xml来解决它:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape 
        android:shape="rectangle">
            <solid android:color="#FFDDDDDD" />
            <gradient 
                android:angle="0"
                android:startColor="#FFAAAAAA"
                android:endColor="#FFEEEEEE"
                />
        </shape>
    </item>

    <item android:bottom="2dp">
        <shape 
        android:shape="rectangle">
            <solid android:color="#FF000000" />
        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

但是这种方法在黑色矩形上方绘制一个彩色矩形.我想只在形状底部的线条没有黑色矩形,因为黑色不透明.我怎么能实现这一目标?

android shape drawable

57
推荐指数
4
解决办法
7万
查看次数

可绘制到byte []

我有一张来自网络的图片ImageView.它非常小(一个favicon),我想将它存储在我的SQLite数据库中.我可以得到一个Drawable,mImageView.getDrawable()但后来我不知道该怎么做.我不完全理解DrawableAndroid中的类.

我知道我可以从Bitmap类似的方式获得一个字节数组:

Bitmap defaultIcon = BitmapFactory.decodeStream(in);

ByteArrayOutputStream stream = new ByteArrayOutputStream();
defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);

byte[] bitmapdata = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

但是如何从一个字节数组中获取Drawable

database android drawable android-bitmap

56
推荐指数
3
解决办法
4万
查看次数

如何在Android中获得圆形

如何通过Android形状drawable在Android中实现圆形,如下所示:

在此输入图像描述

android shape drawable

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

如何使用默认的Android drawables

使用默认Android drawables时最好的方法是什么?我应该使用android.R.drawable或应该在我的项目中复制drawables并使用R.drawable

是否有任何风险,在较新版本的Android中,某些默认的drawable被删除或调整大小?或者,以某种消极方式影响,我的应用程序的外观?此外,Android源代码中哪些drawables被认为是"稳定的",应该依赖?

我宁愿不复制drawables因为我认为应用程序的外观应与所使用的Android版本一致.因此,例如,对于版本1.6,它应该使用版本1.6的默认Android位图.

android drawable

55
推荐指数
5
解决办法
11万
查看次数

获取存储在drawable中的图像的URI

我在我的应用程序中添加了几个示例项,因此当用户第一次看到它时它看起来不那么空.带有示例项的列表应该有一个图像,我要使用的图像已经存储在应用程序的/ res/drawable-folder中.

因为我已经有一个方法从URI加载项目图像我想获取到/res/drawable/myImage.jpg的URI,但我似乎无法正确.

流程如下:使用表示图像URI的字符串创建项目.将项列表发送到列表列表通过将字符串转换为URL然后运行url.openStream()来将图像加载到后台任务中;

我已经为URI尝试了一些选项而没有任何成功."android.resource:// ....."说未找到unknow protocoll"file://"文件

所以现在我有点失去了如何解决这个问题..

url android drawable

55
推荐指数
5
解决办法
8万
查看次数

平铺的drawable有时伸展

我有一个ListView,其项目具有平铺背景.为此,我使用以下drawable xml:

<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/tile"
    android:tileMode="repeat" />
Run Code Online (Sandbox Code Playgroud)

通常,这是有效的.但是,有时,src drawable不会平铺,而是拉伸以填充整个列表项.(我有几个不同的瓷砖,我把它们混合在一个ListView中.如果有拉伸而不是平铺,那么它永远不会同时存在于所有这些中,因为这是值得的.)

我也尝试添加android:dither="true"到那个xml,因为我读到某个地方没有它可能会有bug.这并没有改变任何事情.

有没有人有同样的问题?你怎么修好它的?

xml android tiling drawable

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