问题标签 [android-drawable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在列表视图上设置动画背景
我有一个 ListView,每行有 2 个 TextView 和一个 CheckBox。
我有一个可绘制对象(一条线),一旦用户检查复选框,可绘制对象将在选中的复选框行的背景上缩放为动画,我就可以在我的自定义适配器上使用getView()方法,将drawable设置为背景动画,但它也会缩放2个TextView和CheckBox,我希望只有drawable背景可以缩放为动画,我该怎么做?
这是我在自定义适配器上的getView()方法:
android - 使用圆角drawable
流行的 Google 开发人员Romain Guy发表了一篇不错的文章,展示了如何在视图上有效地使用圆角可绘制对象(在他的代码中称为“StreamDrawable” )。
该示例在我的 Galaxy S3 纵向模式下运行良好,但我有一些问题:
如果屏幕很小(例如在 qvga 屏幕上),显示的图像会被裁剪。
如果我的输入位图比我希望的显示方式太小,则输出图像的边缘会被涂抹。即使在 Galaxy S3 上,当您运行示例代码并且它在横向上时,它看起来也很糟糕:
我仍然不确定(因为我使用缩放图像的解决方法来使用示例代码),但它认为即使是这个解决方案在 listView 中使用时也会有点慢。也许有一个渲染脚本解决方案?
我使用 setImageDrawable 还是 setBackgroundDrawable 都没有关系。它必须是可绘制对象本身的东西。
我尝试使用变量和位图着色器,但没有任何效果。遗憾的是, TileMode并没有仅仅拉伸图像的价值,只能以某种方式平铺它。
作为一种解决方法,我可以创建一个新的缩放位图,但这只是一种解决方法。当然有一种更好的方法,它也不会使用比它应该使用的更多的内存。
我如何解决这些问题并使用这个很棒的代码?
android - java.lang.OutOfMemoryError: 位图大小超出 VM 预算在线 Drawable.createFromStream(((java.io.InputStream) new URL(url), "") in android
首先,我通过解析 json 响应创建图像和图像信息的 Arraylist
然后我使用代码从服务器另一个异步任务中获取图像
我的适配器类代码
现在我的列表只包含 5-6 张图片。但是我在线收到错误 OutOfMemory 错误
我的日志 - 猫是
而不是这个,我在另一个活动中显示相同的列表,我正在执行相同的过程。
还有其他两个活动:1.我使用相机意图捕获图像并上传到服务器(调用 api 并使用 Http Multipart Entity),以及 2.我从画廊上传图像。
这不是我收到此错误的唯一地方,实际上在其他地方很多。但是这条线上有 90% 的错误。
我想知道,问题是否出现是因为所有图像的单个大尺寸图像一起占用更多内存。以及如何删除它?
android - 以程序方式创建 9 补丁?
我正在尝试以程序方式创建一个 9 补丁图像,但不知道该怎么做。有什么方法可以获取普通的 PNG/JPG 图像并对其进行调整,以便我可以指定中心宽度和中心高度来生成 9 个可绘制的补丁?
我打算在运行时创建一个位图并将黑色边缘标记添加到位图中并在应用程序中创建 9 个补丁,但是读取这个线程似乎不可能,因为资源编译器创建了额外的魔法数据所以任何指针?
从本质上讲,我知道图像将用于按钮,并且将有 4 个 4x4 角不应该被拉伸,并且中心的剩余像素可以被拉伸。
android - 如何从不同的可绘制文件夹访问图像
我创建了一个在移动设备上运行的应用程序。但现在我希望它也能在平板电脑上运行。我在“Drawable-mdpi”文件夹中定义了最多的图像,其中一些为 xhdpi 屏幕调整了大小并将它们存储在“Drawable-xhdpi”文件夹中。当我尝试在平板电脑上运行该应用程序时,无法访问 xhdpi 文件夹中的图像。谁能给我一些解决问题的方法。
android - Android背景选择器按下状态一次显示在所有项目上
我已经设置了一个背景可绘制选择器,以便在按下时突出显示列表项的背景(类似于我之前多次完成它的方式,除了在代码中分配了可绘制对象)。首先,我将向您展示问题,然后将我的代码放在底部。如果有人能帮我解决这个问题,我将不胜感激!
这里屏幕正在等待输入:
在这里,我按下并按住一个项目。如果我将手指滑离屏幕而不抬起某个项目,它仍然是这样的:
如果我按住然后向上滑动以滚动列表,则进入视图的项目不会显示按下的颜色:
这是相关的 XML。我在这里设置了可绘制背景,但它确实是在代码中设置的,所以它是多余的。
这是可绘制的 XML:
这是在数组适配器中设置背景选择器的代码:
任何想法,将不胜感激!
android - Android 4.0 或更高版本中可绘制颜色的奇怪行为
我对android资源有一个奇怪的问题。我在 Android 2.2 上创建了应用程序(android:minSdkVersion="8")
。该应用程序工作正常。
当我在例如 Android 4.0 上安装应用程序时,该应用程序工作正常,但是在第一次运行时,一些资源发生了变化。
例如,我有一个名为 primary_color 的可绘制颜色,它指的是#FFFFFF
html 颜色。安装后,系统呈现黑色而不是白色。在某些情况下@android:color/white
呈现黑色。
强制关闭应用程序并重新启动应用程序可解决此问题。
请帮我解决这个问题。
android - 如何使用 AsyncTask 从 Url 设置图像?
我是一个新手程序员,我正在制作一个 android 程序,该程序在 ImageView 上显示来自给定 url 的图像。我的问题是你如何在 AsyncTask 上使用它?
这些代码适用于 min SDK 2.2,但我切换到 min SDK 3.0,因此它需要在 AsyncTask 上运行。谢谢您的帮助!:)
android - Android:通过代码更改线性 GradientDrawable 的中心
编辑:看看上面的解决方案
我吓坏了。我只想做的就是设置一个线性 GradientDrawable,它会改变渐变的垂直中心......绘制渐变效果很好,但我怎样才能改变它的中心?!?
这是我想如何通过代码更改渐变的图片示例
不可能那么难,可以吗?
android - Bitmap.compress 总是返回 null
我正在从我的服务器下载请求的图像,下载后该图像已成功显示,但是当我尝试将相同的图像存储在我的 SD 卡上时,它返回 null。这是我下载图像并保存它的代码。我在调用 bitmap.compress() 时得到空值