问题标签 [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 - Android:如何为所有像素密度使用单个图像资源?
我有一张我想用作我的一个视图的背景图案的图像。作为一种模式,它被平铺,因此与分辨率无关:我希望图像中的一个像素在屏幕上显示为一个像素,无需缩放,无论设备的像素密度如何。
现在,我当然可以通过制作四个相同的图像副本并将它们放到我的 mdpi、ldpi、hdpi 和 xhdpi 目录中来做到这一点。但这似乎是多余和臃肿的。有没有办法告诉 SDK 在每种情况下都只使用一个图像?
谢谢。
android - 在按钮上调用选定状态会使文本消失
我有一个具有选定状态的简单选择器,因此我可以在我的 Button 上 setSelected(true) 并显示它被选中。我正在创建一个 ActionBar 类型的东西。它在某些 android 设备(nexus 平板电脑)(v4.1.2)上运行良好,但在三星 Galaxy S2(v2.3.6)上,当我调用 setSelected(true) 状态时,它会隐藏按钮的文本。任何人都知道为什么会发生这种情况?
我的 *button_tab_selected* 和 *button_tab* png 图像资源都是 47x47 9 补丁。
drawable_tabcontrolbutton.xml
布局代码
Java 代码
android - Android默认微调器列表选择颜色随机变化
我正在尝试在 Android 中实现一个下拉列表。
这是Spinner
我在 layout.xml 中使用的
在MainActivity.java
,我正在使用以下代码,
这是我的spinner_layout.xml
选择器文本颜色.xml
选择器背景.xml
但是,有时微调器列表项选择的颜色会发生变化。
不知道什么时候能正常显示。随机选择颜色正在改变。有时选择显示为第一张图像,有时显示为第二张图像。
为什么会发生这种情况?如何解决这个问题?
android - 将用作谷歌地图中标记图标的旋转可绘制对象
我想从可绘制的地图(api v2)中添加标记,目前我这样做:
现在我想在将它用作标记图标之前旋转可绘制对象。最好的方法是什么?我试过了
但是生成的drawable奇怪地变形了。我认为必须有一个更好、更清洁的解决方案。
android - Shape Drawable gradientRadius 仅适用于像素。这不是没用吗?% 值不起作用
我想使用具有径向渐变的可绘制形状作为视图的背景。根据 javadoc,渐变的半径可以设置为特定值(可能是像素)或百分比:
机器人:渐变半径
渐变的半径,仅用于径向渐变。
可能是浮点值,例如“1.2”。
可能是一个小数值,它是一个附加了 % 或 %p 的浮点数,例如“14.5%”。% 后缀始终表示基本大小的百分比;可选的 %p 后缀提供了相对于某些父容器的大小。
如果我错了,请纠正我,但在这里使用像素值是完全没用的,因为这个渐变看起来从一个屏幕密度到另一个屏幕密度完全不同(经过测试,是的,这是真的)。我尝试使用 % 和 %p 值,但它们根本不起作用。
我深入研究了 Android 源代码以查看如何处理 gradientRadius 并在 GradientDrawable 类中找到了这个:
啊哈!因此,所有添加 % 或 %p 所做的就是将我的值除以 100。(我对此进行了测试,因为 TypeValue.getFraction() 的文档更加不清楚)。65% 变为 0.65。有道理,但没有任何用处。
那么使用 gradientRadius 的最佳方法是什么?
PS。我已经使用 GradientDrawable 以编程方式添加了我的背景,并且得到了想要的结果。我使用 GradientDrawable.setGradientRadius() 和一个相对于视图宽度的值,并在设备之间获得一致的渐变。
android - 使用设置了三种以上颜色的 gradientDrawable
根据我读过的内容,您可以使用gradientDrawable并为其设置三种颜色,例如:
但是如果我想要三种以上的颜色,不仅如此,我还希望能够设置每种颜色的放置位置(重量/百分比)?
是否可以使用 API 或者我应该制作自己的自定义可绘制对象?如果我需要制作自己的自定义drawable,我应该怎么做?
android - 减少 Android 应用程序启动时间
我准备了一个应用程序。
我的应用程序有带有可绘制动画的启动画面。当应用程序启动时显示白屏(1 或 2 秒)并显示我的启动动画。有一段时间动画没有完成它是移动到下一个屏幕。我想我犯了一些错误我的代码是,
如何减少应用启动时间?
android - 这些稍微不同的状态可绘制对象的行为有何不同?
Q1)查看ListView
可绘制的原始状态,因为listSelector
我们有这样的东西(我剥离了一些代码以简化示例):
但我一直在我的应用程序上这样做:
这似乎产生了相同的结果,而且更简单。您是否注意到第一个比我自己的版本更好的情况?我只是想确保我没有遗漏一些重要的东西,因为我喜欢让我的代码尽可能短......
Q2)我看到许多状态drawables<item android:drawable="<TRANSPARENT>" android:state_window_focused="false"/>
作为最重要的项目,但我不明白为什么需要它。总是让state_window_focused
我有点困惑……真的有必要吗?
android - Android 不支持 ldpi 限定符
我想区分以下两种设备的布局/可绘制对象:
所以我使用以下合格的目录:
但是当我在屏幕尺寸为 480x764 的 7" ldpi 设备上运行时,Android (V4.0.3) 会选择 hdpi 版本。为什么?当我阅读文档时,ldpi 应该更适合。
当我完全删除 layout-sw600dp-hdpi / drawable-sw600dp-hdpi 时,它确实选择了 2),一切都很好。但我也需要 hdpi 版本。
那么如何区分 7" 设备的 ldpi/hpdi 版本呢?
谢谢!
安德烈
android - Android setBackgroundResource 导致内存不足异常
我正在开发一个在 ViewPager 中显示 12 个视图的游戏本应用程序。这是我的自定义 PagerAdapter :
在某些设备中,当调用这行代码时,它会随机导致内存不足异常
但是在所有设备中,当我翻页时,我会在 logcat 中看到类似的内容:
当在另一个 Activity 中我根据用户操作为主布局设置不同的背景资源时,该应用程序也会在某些设备中因同样的问题而崩溃。这里的代码:
当我在 mainLayout 上调用 setBackgroundResource() 时,它再次运行异常。
我希望你能帮助我解决这个问题,在此先感谢!