草庐IT

DRAWABLE

全部标签

java - 带有颜色的可绘制状态(不是可绘制对象)

我想通过以下行为为View提供背景颜色:按下View时背景应为绿色,否则为黑色。这个选择器有效但为此,我需要创建一个具有所需颜色的九色补丁3x3文件。我怎样才能达到相同的行为,但给颜色代码而不是可绘制的?谢谢 最佳答案 只需使用颜色。来自docs:AcolorresourcecanalsobeusedasadrawableinXML.Forexample,whencreatingastatelistdrawable,youcanreferenceacolorresourcefortheandroid:drawableattribut

android - 在ImageView android中获取关联图像(Drawable)

我已经将图像设置为android中的ImageView控件:iv.setImageResource(R.drawable.image1);我想得到这个关联的Drawable,看起来像:DrawablemyDrawable=iv.getImageResource();//wrong 最佳答案 你可以像这样获取drawableDrawablemyDrawable=iv.getDrawable();您可以将其与可绘制资源进行比较if(iv.getDrawable()==getResources().getDrawable(R.drawab

android - 单击时更改线性布局背景颜色

我在我的xml中有一个线性布局,并通过java向该线性布局添加另一个线性布局(包含两个TextView)。触摸事件完美无缺,但我想通过设置背景色来突出显示选定的线性布局。请指教。 最佳答案 在drawable文件夹中定义background.xmldrawable文件夹中的normal.xmldrawable文件夹中的pressed.xml然后为您的布局设置背景android:background="@drawable/background"你也可以设置背景如下触摸你的布局ll.setOnTouchListener(newView.

带参数的Android drawable

有没有可能有类似的东西drawable/myshape.xml然后从java类中获取这个可绘制的参数传递值。有点像Drawablemyshape=???.getDrawableWithParameters(R.drawable.myshape,0x00ff00); 最佳答案 如果您按照示例中所示的方式创建一个形状,那么它可以作为GradientDrawable访问。.GradientDrawabled=(GradientDrawable)getResources().getDrawable(R.drawable.yourid);如果

Android Lint 看不到未使用的 png 可绘制对象

我在drawable-hdpi、drawable-xhdpi...文件夹中有许多未使用的(数百个)png可绘制对象。Lint检查仅提供未使用的布局、字符串、动画和xml可绘制对象,但不提供png可绘制对象。另一个工具android-unused-resources给我“找到0个资源”。我已经检查过,drawables确实未被使用(我在整个项目中搜索了drawable名称,尝试删除drawable并且没问题)。为什么会这样以及如何让lint将它们检测为“未使用”? 最佳答案 来自您的评论:Ihavealint.xmlfileandit

android - Nine-Patch Drawable 与 Shape Drawable。应该首选哪个?

我和我的同事并行开发了两个应用程序,每个应用程序都具有相似的样式。这些应用程序的主视图背景是径向渐变。他将他的实现为一个九补丁图像,我用一个可绘制的形状来实现。两者都产生相似且可接受的结果。所以我的问题是,我们应该使用哪个?内存消耗和性能之间是否存在权衡?我想图像可能需要一些时间来加载,但可绘制的形状需要更多时间来绘制(由于计算)。然后将这些存储在缓存中并且这些惩罚仅在它们第一次显示时发生,或者这些问题是否持续存在???可绘制形状:9-patch: 最佳答案 Shapedrawable非常适合具有简单恒定颜色变化的渐变图像。另一方面

android - Android 中特定于密度的布局与特定于尺寸的布局

很长一段时间以来,我一直在声明4种不同密度的资源文件夹:drawable-ldpidrawable-mdpidrawable-hdpidrawable-xhdpi在布局的XML中,我一直在为这些图形使用固定宽度(同时仍然与密度无关),例如128dp。但是,随着越来越多的大屏幕手机(尤其是平板电脑)问世,这种方法就不再奏效了。尽管您以这种方式提供与密度无关的资源,但布局在大屏幕上看起来不太好。这就是为什么我认为我需要添加依赖于屏幕尺寸的Dimension资源,以便在XML布局中使用,例如:值(value)观值-w600dp值-w720dp值-w1024dp但这是否意味着我应该放弃支持这4

android - 未找到可绘制资源

我正在尝试为自定义ArrayAdapter实现选择器可绘制资源。我一直收到android.content.res.Resources$NotFoundException:Fileres/drawable/list_selector.xmlfromdrawableresourceID#0x7f020有人可以提供建议吗?我有两个xml文件:res/drawable/list_selector.xmlres/layout/list_item.xml最后,我的代码加载列表项如下:publicViewgetView(intposition,ViewconvertView,ViewGrouppar

android以编程方式模糊可绘制的imageview

我想在Android中以编程方式模糊和取消模糊图像。我听说在API14之后不再支持android标志“blur”,但我还是想使用Java方法。我的主要问题是从Imageview可绘制对象中操作位图。我如何从ImageView获取位图并对其进行操作(可能会使用高斯模糊)并将其设置回ImageView?我认为这个过程包括提取可绘制对象,将可绘制对象转换为位图,在该位图上执行我的模糊方法,然后执行相反的操作,直到再次将其设置为ImageView但是我想把这个过程说清楚,谢谢 最佳答案 以下是实现高斯模糊的代码。希望这可以帮助你import

android - ShapeDrawable 中的偏移形状

我正在尝试使用扩展ShapeDrawable的类(请参阅here)绘制一个带有边框的圆角矩形,并且一切正常,除了shapedrawable似乎切断了一些边框,因为形状本身不会超出这些范围。是否没有某种方法可以抵消shapedrawable开始绘制的位置,以便在形状本身和Canvas的边界之间有一些填充?我已尝试将ShapeDrawable.setBounds设置为大于形状的固有大小,并尝试使用ShapeDrawable.setPadding,但似乎没有任何进展。我应该改为子类化Drawable吗? 最佳答案 你可以用inset(in