问题标签 [layerdrawable]
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 - LayerDrawable 作为背景可绘制在 minSdkVersion=15 或更低时不起作用
虽然我找不到任何 SDK 版本限制LayerDrawable
(在 API 级别 1 中添加),但我用作背景的版本取决于 minSdkVersion:如果它是 15 或更低,则背景是完全黑色的,如果是19 或更高版本 (KitKat<),图层按预期显示。
我正在以编程方式替换图层列表中的第一项。这是我使用LayerDrawable
该类的方式(尽管应该没有任何问题):
mylayerdrawable 如下所示:
bgDrwbl
在调试时,我注意到minSdkVersion=15 与 19 相比缺少以下成员:
LayerDrawable.mLayerState.mAutoMirrored
LayerDrawable.mLayoutDirection
(基类成员Drawable
:)
如果有人像我一样使用 LayerDrawable,我不知道它们中的任何一个是否至关重要(?),但我既没有收到任何警告,也没有找到任何关于在LayerDrawable
不同 SDK 版本中使用 's 的建议。你有什么提示吗?
android - Android 开发 - 如何将 LayerDrawable 转换为 Drawable 或 Bitmap
我正在编写一个简单的应用程序,它需要两个图像 1)照片和 2)过滤器(图像文件),然后过滤器将应用于照片。但我也想在图像重叠后将图像保存在内部存储中。正如您在下面的代码中看到的,在最后第二行中,我创建了位图对象filteredPhoto
,因此它可以用于保存图像,但由于不可转换类型,它不能被引用。
有两种方式,
1)将LayerDrawable
对象转换Drawable
为位图对象并稍后将其引用到位图对象(通过强制转换)
2)如果可能,LayerDrawable
直接转换为。Bitmap
谁能解释我如何做到这一点?
注意:其他人可能已提出此问题,但没有人正确回答。他们中的大多数人说使用Canvas
,但我找不到如何Canvas
帮助我解决我的问题,所以请不要将我的问题标记为重复。
代码 :
android-studio - 保存图层可绘制时面临错误
我是初学者,我正在尝试创建一个类似 retrica 的应用程序或其他类似的应用程序。但我面临一些问题,比如从 imageview 保存图像。我正在使用 layerdrawable 来实现框架、clip_arts 和过滤器等。我遇到了错误
08-12 22:01:55.812 9469-9469/com.zaibatsu.usman.camerashop D/我的错误 :: java.lang.NullPointerException: 尝试调用虚拟方法'void android.graphics.drawable.LayerDrawable.setBounds(int, int, int, int)' 在空对象引用上
实际上我正在将 layerdrwable 转换为位图图像,所以我想将编辑后的图像保存到设备内存中。这是我的代码...
公共类显示扩展活动{
}
android - 以私有方法访问菜单
我正在为 中的图标添加徽章Toolbar
。我曾经onCreateOptionMenu
为工具栏中的图标充气。我需要在单击按钮时使用菜单LayerDrawable
来为图标添加徽章。我发现你可以像这样访问菜单。但是当我像这样使用菜单时,图标不会更新,它会以这样的方式重新创建,从而变成 2 个图标。一个有徽章,另一个没有。如果我再次单击该按钮,则会显示 3 个图标。有没有办法正确地做到这一点?
android - LayerDrawable 一起变化
我有一个魔术问题。LayerDrawable 的所有实例一起更改。我有几个典型的观点。所以为了完成我的任务,我决定“我将使用“复合视图”。我遇到了一个问题:
当我改变一个图层可绘制的可见性<所有的变化。
}
和 LayerDrawable 的 xml
布局
我将不胜感激任何帮助。
android - Android 半透明状态栏但非半透明导航栏(如果存在)
我正在尝试使用这篇文章为 android 应用程序创建启动画面:Splash Screens the Right Way。正如文章所说,我创建了具有两层的 LayerDrawable:背景位图和徽标(也是位图)。例如,徽标需要位于屏幕底部,缩进 32dp。这是我的可绘制对象:
android:windowBackground
我在我的启动活动主题中将这个可绘制对象指定为参数。我还希望在支持此功能(API >=19)的设备上显示启动画面时有透明的状态栏,所以我为不同的 android 版本创建了两个资源文件,在 values-v19\styles.xml 中我指出标志android:windowTranslucentStatus
为真的。这是我的values/styles.xml
和values-v19/styles.xml
:
值/样式.xml
和
values-v19/styles.xml
但是在一些带有 Soft NavigationBar 的 Android 设备上,我的标志被它重叠了。
我试图将标志指向错误但没有成功。android:windowTranslucentNavigation
有什么方法可以使 Android Soft NavigationBar 与透明状态栏一起透明,或者我需要在我的启动活动的 onCreate 方法中检测 Soft NavigationBar 的可用性,并通过将徽标的底部缩进添加到 NavigationBar 的高度来更新我的 LayerDrawable?
谢谢。
android - < API 级别 23 中的 LayerDrawable addLayer
有没有办法LayerDrawable
在 API < 23 上添加一个层?我必须LayerDrawable
使用构造函数创建一个新层吗?
android - 来自 LayerDrawable 的异常
我有一个使用 android 支持库版本的 android 应用程序,23.2.1
一切正常。但是,我已经将 android 支持库版本更新到25.2.0
昨天,并意识到一些用户正在得到这个异常(通过 Fabric crashlytics),但我无法重现它。
这是崩溃日志:
它似乎与菜单视图有关。菜单选项的布局是:
layerlist_menu_notification 布局是一个带有徽章的图标:
知道哪里出了问题吗?
android - 如何在Android中动态合并两个Drawable?
所以我有两个不同Drawables
的,我需要在运行时合并并得到一个Drawable
。我希望第一个Drawable
在顶部,另一个在底部。我遇到了LayerDrawable
,它看起来正是我需要的,但我在尝试安排Drawables
.
所以我有一个ImageButton
48x48 的尺寸dp
,这就是决赛Drawable
的去向。第一个Drawable
是加号按钮 (20x20 dp
),第二个是dp
加号按钮下方的一个小点 (4x4 )。
加号按钮Drawable
是使用字体字形加载的。我正在Drawable
使用这个 xml 片段创建点按钮:
我的第一种方法是将两者都添加Drawables
到 中LayerDrawable
,但是当我这样做时,xml 中指定的点的宽度/高度属性将被忽略,并且它会延伸以覆盖加号图标。
我尝试的第二种方法是使用setLayerInset
to try and position the two Drawables
.
上面的代码片段最终将点放置在正确的位置,但它也开始影响加号按钮的位置和大小,最终看起来像这样:
但我真正想要的是在中间有加号按钮,在ImageButton
它下面有加号图标。有谁知道我哪里出错了,我怎样才能正确定位两个drawable?
PS:我的应用程序支持 API 15+,所以我不能使用来自LayerDrawable
API 的一堆方法,比如setLayerGravity
`setPaddingMode 等。