MIUI显示桌面应用角标权限说明

MIUI显示桌面应用角标权限说明,第1张

在应用开启”显示桌面图标角标“权限的前提下,当应用发通知在通知显示后,通知栏会通知桌面更新应用图标角标。

角标数值的计算逻辑是,统计应用在通知栏里显示的非常驻类通知(可手动清除的通知),累加其messageCount值。

每条通知的messageCount值默认为1,开发者可以通过反射的方式设置messageCount值,可参考开发者文档: MIUI 6 至 MIUI 11 桌面角标适配说明 。

用户在桌面点击应用图标启动应用时,会同时隐藏掉应用角标。直到应用发送了新通知,或者更新了通知的messageCount值后,才会重新显示出角标。

Q:应用发送了通知,桌面应用角标没有显示出来。

A:首先打开应用通知设置页面,在”设置-通知管理“里点击应用,查看”显示桌面图标角标“开关是否开启。大部分应用默认是关闭状态。

其次确认通知栏中是否有该应用的非常驻类通知(可手动清除的通知)。

最后需要确认下通知的messageCount值是否正确。

Q:国外某些聊天类应用接收消息发送通知后,桌面角标始终显示为 1。

A:当同一个联系人发来新消息后,这类应用均采用更新通知内容实现,也就是通知栏中通知数量始终只有一条,因而角标值显示为1。

如果应用想要定制显示的角标值,可参考: MIUI 6 至 MIUI 11 桌面角标适配说明 。

Q:桌面应用图标显示角标,在最近任务中关闭应用,角标消失。

A:在最近任务关闭应用后,会清除掉应用的所有通知,因此桌面应用角标会隐藏。

Q:桌面应用图标显示角标,点击应用图标后,角标消失。

A:点击应用图标后,会默认隐藏掉应用图标角标。

可通过如下两种方式重新显示:

方式1:发一条新的通知,其通知id与之前发送的通知id不重复。

方式2:更新已发送通知的messageCount值。

Q:为什么桌面应用角标最大显示值是9。

A:在通知栏显示的应用发送的通知是有条数限制的,每一个应用最多只能显示10条通知。

在应用没有指定groupkey的情况下,超过3条系统会默认发一条autosummary的通知,将应用的通知成组显示。也就是说,在这种情况下,用户可见的通知数量是9条,在桌面显示的应用角标值也是9。

如果应用想要定制显示的角标值,可参考: MIUI 6 至 MIUI 11 桌面角标适配说明 。

Q:是否有其他方式设置messageCount值?

A:有如下两种方式:

方式1:notificationnumber = messageCount;

方式2:notificationextrasputInt("miuimessageCount", messageCount);

Q:通过开发者文档设置了messageCount值,但桌面应用角标显示的值不符合预期。

A:桌面应用角标数值是累加应用在通知栏显示的非常驻类通知(可手动清除的通知)的messageCount值。即并不是开发者设置了某一条通知的messageCount值后,桌面应用角标显示的就是设置的messageCount值。

Q:如何查看通知的messageCount值

A:使用MIUI12手机连接电脑,在命令行执行:adb shell dumpsys activity service SystemUIService ,搜索 active notifications 字段可查看当前通知栏显示的所有通知。

通过 pkg+通知id 找到对应的通知,查看其messageCount值是否符合预期。

您好,notice 和 notification 两个单词都是由字根 note 而来的,而另一个单词也是由字根 note 延伸过来的是 note 这个单词,所以这3个都是由 note 拓展的英语单词的较大区别在于:

1)note(动词)= write(写);note(名词)= 写下的东西;笔记;

My teacher is talking, and I am noting

= My teacher is talking and I am taking note

2)notice(动词)= see(看尤其指无意间,或是突然看到);notice(名词)= 可以看得到的公告,布告(尤其是贴在布告栏)

Did you see the notice on the bulletin board(作名词)

I notice you have a new haircut(作动词)

3)notify(动词)= tell(告知;通知);notification(名词)= 需要通过讲、说,或是转述的通知,告知的内容。

Please notify your parents to come to school tomorrow

My parents sent a notification to the school that they couldn't come to the meeting

notification 通常用在正式场合,可以替代 notice(名词)

所以 3 套就是:

note = 动词(写);名词(写下的东西)

notice = 动词(看);名词(看到的东西)

notify = 动词(告知);名词(告知的内容)

1文本框(TextView)和编辑框(EditText)

文本框(TextView)不允许用户编辑文本内容,而编辑框(EditText)允许用户编辑文本内容

2按钮(Button)和按钮(ImageButton)

Button显示文字,ImageButton显示。

为ImageButton指定android:text属性没用,不会显示文字

可以指定android:background为按钮增加背景,但这是固定的

可以指定android:src为按钮增加属性

其实,src才是设置图标,而background只是设置背景。

如果控件的大小是100 100 资源是80 80的话,那么用src,就会居中显示,如果使用background那么就会被拉伸充满控件。

重要的是,background是底层的资源,src是覆盖在background上面的资源,他们可以叠加使用,实现选中的效果。

3单选按钮(RadioButton)和复选框(CheckBox)

多了一个android:checked属性,用于指定初始时是否被选中

4计时器组件Chronometer用法

红色字体表示常用的方法

5图像视图(ImageView)

它支持属性android:scaleType setScaleType(ImageViewScaleType)

matrix(ImageViewScaleTypeMATRIX):使用matrix方式进行

fixXY(ImageViewScaleTypeFIX_XY):对横向纵向独立缩放,会改变纵横比

fitStart(ImageViewScaleTypeFIT_START):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在左上角

fitCenter(ImageViewScaleTypeFIT_CENTER):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在中央

fitEnd(ImageViewScaleTypeFIT_END):保持纵横比,较长的边长与ImageView相应的边长相等,缩放后放在右下角

center(ImageViewScaleTypeCENTER):放中间,不缩放

centerCrop(ImageViewScaleTypeCENTER_CROP):保持纵横比,使能完全覆盖ImageView

centerInside(ImageViewScaleTypeCENTER_INSIDE):保持纵横比,使ImageView能完全显示

6spinner的功能和用法

如果可以确定spinner里面的列表项,那么直接在/res/layout/mainxml里面指定

然后在/res/value/stringxml里面指定

如果不确定里面的列表项,那么必须要提供一个Adapter,这个Adapter负责决定Spinner列表每项的内容

7日期、时间选择器(DatePicker和TimePicker)

8自动完成文本框(AutoCompleteTextView)

比普通文本框多了一个功能:当用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单后,组件会按用户选择自动填写该文本框

使用该组件很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本

9进度条(ProgressBar)

通过style属性可以为ProgressBar指定风格。该属性可以有如下的属性值:

1@android:style/WidgetProgressBarHorizontal 水平进度条

2@android:style/WidgetProgressBarInverse 不断跳跃、旋转画面的进度条

3@android:style/WidgetProgressBarLarge 大进度条

4@android:style/WidgetProgressBarLargeInverse不断跳跃、旋转画面的大进度条

5@android:style/WidgetProgressBarSmall 小进度条

6@android:style/WidgetProgressBarSmallInverse不断跳跃、旋转画面的小进度条

ProgressBar提供如下方法来 *** 作进度

1setProgress(int) 设置进度的完成百分比

2incrementProgressBy(int) 设置进度条的增加或减少。参数为正增加,参数为负减少

10选项卡(TabHost)

TabHost仅仅只是一个简单的容器,它提供如下方法

1newTabSpec(String tag) 创建选项卡

2addTab(TabHostTabSpec tabSpec) 添加选项卡

使用TabHost的一般步骤为:

• A 在界面中定义TabHost组件,并为该组件定义该选项卡的内容

• B Activity应该继承TabActivity

• C 调用TabActivity的getTabHost()来获取TabHost对象

• D 通过TabHost对象的方法来创建选项卡、添加选项卡

选项卡主要由TabHost、TabWidget、FrameLayout3个组件组成,三者缺一不可,想象一下选项卡的特点,多个卡重叠在一起,所以用FrameLayout即帧布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三个组件的android:id必须使用系统默认的名称,而不能自己随意定义,否则会出错。

11图像切换器(ImageSwitcher)

12网格视图(GridView)

使用GridView一般指定numColumn大于1,否则取默认值为1那么GridView就变成了ListView

属性android:stretchMode支持如下属性

1none 不拉伸

2spacingWidth 仅拉伸元素之间的间距

3spacingWidthUniform 表格、元素之间的间距一起拉伸

4columnWidth 仅拉伸表格

13画廊视图(Gallery)(现在已经被弃用了,不过还是列出来吧)

Gallery用法很简单——为它提供一个内容Adapter,该Adapter的getView方法所返回的View可作为Gallery的列表项。可以通过OnItemSelectedListener监听选择项的改变

14列表试图(ListView和ListActivity)

1创建ListView由两种方式:

2直接使用ListView进行创建

让Activity继承ListActivity(继承了ListActivity的类无需调用setContentView()来显示页面,可以直接设置适配器)

一旦获得ListView后,就要创建显示的列表项了。需要借助内容Adapter,内容Adapter负责提供需要显示的列表项

创建ArrayAdapter时必须指定一个textViewResourceId,该参数决定每个列表项的外观

1simple_list_item_1 每个列表项是普通的TextView

2simple_list_item_2 每个列表项是普通的TextView(字体略大)

3simple_list_item_checked 每个列表项是已勾选的列表项

4simple_list_item_multiple_choice 每个列表项是带多选框的文本

5simple_list_item_single_choice 每个列表项是带多单选按钮的文本

15使用AlertDialog

1创建AlertDialogBuilder对象,该对象是AlertDialog的创建器

2调用AlertDialogBuilder方法为对话框设置图标、标题等

3调用AlertDialogBuilder的create()方法创建AlertDialog对话框

4调用AlertDialog的show()方法显示对话框

16使用Toast显示提示框

步骤如下:

• 调用Toast构造器或makeText方法创建Toast对象

• 调用Toast方法来设置该消息的对齐方式等

• 调用Toast的show()方法显示出来

• Toast toast = ToastmakeText(ToastTestthis, "信息", ToastLENGTH_LONG)show();

17Notification(一般显示网络状态、电池状态、时间等)

使用Notification发送Notification步骤:

• 调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的Notification Manager服务

• 通过构造器创建一个Notification对象

• 为Notification设置属性

• 通过Notification Manager发送Notification

以上就是关于MIUI显示桌面应用角标权限说明全部的内容,包括:MIUI显示桌面应用角标权限说明、notice与notification 的区别、关于Android界面组件的基本用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9473362.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存