大佬教程收集整理的这篇文章主要介绍了ImageView 中的透明 PNG 在清单中使用 hardwareAccelerated true,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在自定义 jpg
背景上制作 ImageVIEw。
我的 ImageVIEw
来源是一个透明的 PNG
。
我是这样做的:
<linearLayout
xmlns:androID="http://scheR_860_11845@as.androID.com/apk/res/androID"
xmlns:tools="http://scheR_860_11845@as.androID.com/tools"
androID:ID="@+ID/linearLayout"
androID:layout_wIDth="match_parent"
androID:layout_height="match_parent"
androID:orIEntation="vertical"
tools:context=".MainActivity"
androID:gravity="center"
androID:BACkground="@drawable/bg">
<ImageVIEw
androID:ID="@+ID/btnFlash"
androID:layout_wIDth="wrap_content"
androID:layout_height="wrap_content"
androID:layout_margin="20dp"
androID:src="@drawable/off"/>
</linearLayout>
它奏效了。
但我需要在我的清单中开启这个功能:
androID:harDWareAccelerated="true"
当我将其设为 true 时,我的 ImageVIEw 失去了透明度。
如何使用 androID:harDWareAccelerated="true"
来实现?
当您在清单文件中全局指定启用硬件加速时,您仍然可以在活动/窗口/视图级别本地启用或禁用硬件加速以进行细粒度控制。 (见official guide。)
因此,通过禁用指定 View.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
的 ImageView 和/或 LinearLayout 的硬件加速,您的问题可能会得到解决。
View imageView = findViewById(R.id.btnFlash);
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
View linearLayout = findViewById(R.id.linearLayout);
linearLayout.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
以上是大佬教程为你收集整理的ImageView 中的透明 PNG 在清单中使用 hardwareAccelerated true全部内容,希望文章能够帮你解决ImageView 中的透明 PNG 在清单中使用 hardwareAccelerated true所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。