android图标背景
A. Android 12适配-行为变更:所有应用
简单讲,就是从Android 12开始,所有的App在每次启动时(特指冷启动与温启动),系统都会为我们加上一个默认的启动画面,如下所示:
该启动画面主要由以下4个元素组成,分别为:
(1) 应用图标 :可以是静态或动画形式。默认情况下,使用Launcher图标。
(2) 图标背景 :可选,在图标与窗口背景之间需要更高的对比度时很有用。
(3) 前景遮罩 :可选,前景的 ⅓ 将被遮盖。
(4) 窗口背景 :不透明的单色,默认是所设置主题的windowBackground。
虽然这个启动画面允许我们一定程度的自定义,但总体都无法跳脱出以上4个元素,且 无法去除 。如果不做任何处理,加上我们原有的闪屏页和广告页,视觉上会有 多个启动画面 。
方案1(懒人专用): 设置除窗口背景之外的元素都为透明
处理后的效果就是,在启动时会先显示由所设置主题的windowBackground指定的纯色背景,即与大多数开发者之前为了解决启动黑屏/白屏问题所采用的方法一致。
方案2(常规做法): 改用SplashScreen API定制系统启动画面
缺点就是可定制程度低,可能无法满足产品的需求;
如果总体的效果可以接受,那么接下来要处理的就是对原有闪屏页的取舍,以及与原有广告页的画面衔接了。
但如开头所言,我们的目标是 将改动最小化 ,那么,原有闪屏页该干嘛还是让它干嘛,初始化也好,路由也罢,逻辑不变,要求只是不再显示而已。
具体做法如下:
简单讲,就是从Android 12开始,用户可以通过状态栏下拉菜单中两个新增的切换开关选项,一键启用/停用摄像头和麦克风使用权限。
请注意,这里的“使用权限”针对的是设备上的所有App,是全局的,不要和Android 6.0的“运行时权启耐限”混淆。
而两者在具体表现上也有所不同,在实际操作中:
尽管官网上提供了检查设备是否支持麦克风和摄像头切换开关的API,也就是检查状态栏下拉菜单是否有这两个开关选项,然而这枣旁岁对于我们实际的适配工作几乎没有什么卵用:
SensorPrivacyManager类倒是有提供检查指定切换开关是否开启的API,但由于是系统权限,因此即使是通过反射形式也无法调用:
所幸的是,如果用户主动关闭了摄像头或麦克风的使用权限,那么当下次App再需要启动摄像头或麦克风时,系统就会提醒用户,相关硬件的使用权限已关闭,并申请重新开启:
因此,对于此行为变更的适配,我们要做的,就是验证在用户主动关闭了摄像头或麦克风使用权限后,App的相关功能是否受影响,至于监听/提示/重新开启的工作则交给系统帮我们完成即可。
做过定位功能的Android开发者都知道,Android提供了两种不同精确度的位置权限凳睁,分别是:
而在以Android 12为目标平台的App上,当App尝试请求ACCESS_FINE_LOCATION权限时,系统权限对话框会提供两个选项,即允许App获取确切位置,还是仅允许获取大致位置。
并且如果您的应用请求 ACCESS_FINE_LOCATION运行时权限,您还应请求 ACCESS_COARSE_LOCATION 权限,以便处理用户授予应用大致位置访问权限的情形。您应该在单个运行时请求中包含这两项权限。
也即是说,给了用户拒绝提供确切位置的权力,一旦用户拒绝,这种情况下App就只能获取到大致位置了。
虽然用户可能拒绝提供确切位置,但我们依旧可以再次请求升级到确切位置:
当然,在再次请求前提供一个适当的解释说明是一个比较好的做法,App本身也要做好只能获取到大致位置时的业务降级处理。
还有许多的行为变更,以上我只选了几条重要的,其他变更及更详细的文档可以参见:
Android 12行为变更:所有应用
以上只是针对在 Android 12 上运行的所有应用应为变更,此外,请务必查看:
Android 12适配-行为变更:以 Android 12 为目标平台的应用
Android 12行为变更:所有应用
B. 怎样将android控件背景设置成透明
1、打开安卓的配置文件。
2、只需要在配置文件中把需要设置为透明的activity的样式设置为android:theme="@android:style/Theme.Translucent"
3、这样就可以把背景设置为透明。
C. 为什么许多Android应用的图标都加了个边框和底色
这是默认主题下,默认添加的背景板,这个应用的图标应为没有达到默认的大小,所以固定添加。现在MIUI有了完美图标计划,可以做到像优酷这样没有背景框的图标。android为了统一做出了很多牺牲,不过像原生android,sony这样的OS就没有,还是要看每个ROM的默认设置的。
D. android设置背景图片
教你如何设置背景图片
xml文件设置背景图片中:
任意一个控件,button imageView 或layout,在其的xml属性设置中,添加
[java] view plain
android:background="@drawable/bg"
即可实现设置其背景图片为bg.
其中bg.bnp图片存放在drawable目录下。
drawable目录下存放大小图标共用的图片。drawable-hdpi中存放240 WVGA800 的模拟器或板子用的图片。drawable-mdpi存放对应的小图片
[java] view plain
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pic"/>
同样,用src属性,也可设置imageView的图片为pic.png
java代码中设置或更改一个控件的背景图片:
[java] view plain
Resources resources = getContext().getResources();
Drawable btnDrawable = resources.getDrawable(R.drawable.layout_bg);
layout.setBackgroundDrawable(btnDrawable);
程序中,动态修改layout的背景图片,用setBackgroundDrawable()函数实现。设置其背景图片为 layout_bg.png
修改imageView1的背景图片为imageView2的背景图片:
imageView2.getDrawable()可获得图片2的背景。值为Drawable类型
imageView1.setImageDrawable(drawable); 设置imageView1的背景图片
即:
[java] view plain
imageView1.setImageDrawable(imageView2.getDrawable());
E. 安卓开发,图标背景颜色怎么更换
android应用图标背景的替换方法为:
1、:项目下面—res文件夹—drawable-hdpi/drawable-ldpi/drawable-mdpi等文件夹下就是图标(分辨率不同所以几个文件都是hdpi是高分辨率,ldpi是中等分辨率,mdpi是低分辨率,项目建立的时候有选择)
2、然后在Manifest文件里面,指定的icon就是
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher" //这个就是指定icon的代码,不需要修改或者改成想要的文件的名字,记住图片的后缀为png
android:label="@string/app_name"
即可。