想让某个activity不显示在后台界面中。日历-跳转到,日期选择的对话框底部按钮文字ui问题,调小点。音乐首页ui没有文件还一直处于扫描状态。

想让某个activity不显示在后台界面中,比如把图库的剪辑图片activity不显示后台,不然会导致一个应用有两个后台界面在Launcher的recentview里面:

只要在vendor/mediatek/proprietary/packages/apps/Gallery2/AndroidManifest.xml

找到剪辑图片的activity,叫com.android.gallery3d.filtershow.FilterShowActivity

加上一个属性

android:excludeFromRecents="true"

excludeFromRecents控制在不在recent列表中显示
true时不显示;false显示,默认 exclude不包括

Android 系统中,如果我们不想某个 Activity 出现在 Recent screens 中,可以设置 <activity> 属性 android:excludeFromRecents true。其中有些需要注意到的地方说明下。

android:excludeFromRecents 属性并不会仅仅影响被设置的 Activity。由此该 Activity 启动的后续同属一个 Task 的一系列 Activity 都不会出现在 Recent screens

也就是说该属性是对 Task 起作用的,而不仅仅是某个 Activity。所以想要后续的 Activity 能够出现在 Recent screens 中,就必须让后续 Activity 在新的 Task 中。

但是如果设置上面属性的 Activity 正是当前正在使用的,切换到 Recent screens 也是可以看到的。但是退到后台运行后,比如按下 Home 键,属性就会发生作用。

日历-跳转到,日期选择的对话框底部按钮文字ui问题,调小点:

日历应用路径是在vendor/mediatek/proprietary/packages/apps/Calendar

activitysrc/com/android/calendar/AllInOneActivity.java

收到itemId == R.id.action_go_to后执行launchDatePicker()

实际上这个应用里面根本没有关于这个日期选择对话框的布局实现以及具体逻辑,是调用了其他包下的,如下

vendor/mediatek/proprietary/frameworks/opt/datetimepicker/ res/layout/date_picker_dialog.xml

这里面就能找到底部按钮的布局文件res/layout/date_picker_done_button.xml

里面改个dimens值就可,改小点res/values/dimens.xml

<dimen name="done_label_size">12sp</dimen>,源码14,改成了12

如果整个对话框都很大,超出显示了就要改小

overlay/vendor/mediatek/proprietary/frameworks/opt/datetimepicker/res/values/dimens.xml

<dimen name="selected_calendar_layout_height">110dp</dimen>

音乐首页ui没有文件还一直处于扫描状态:

vendor/mediatek/proprietary/operator/packages/apps/Music/OP01/src/com/android/music/MusicUtils.java

里面有个emptyShow这个方法,就是没有文件的时候的UI,

if (MusicUtils.isMediaScannerScanning(a)) {

                a.setProgressBarIndeterminateVisibility(false);

                /*/tyd.yantao 20220812 avoid scanning when null from main ui

                text.setText(R.string.scanning);

                scanView.findViewById(R.id.spinner).setVisibility(View.VISIBLE);

                //*/

                text.setText(R.string.no_music_title);

                scanView.findViewById(R.id.spinner).setVisibility(View.GONE);

                //*/

                scanView.findViewById(R.id.message).setVisibility(View.VISIBLE);

            } else if (hasMountedSDcard(a.getApplicationContext())) {

                text.setText(R.string.no_music_title);

                scanView.findViewById(R.id.spinner).setVisibility(View.GONE);

                scanView.findViewById(R.id.message).setVisibility(View.VISIBLE);

把两个改成一样的,因为else那边就是想要的效果,没有文件就显示没有文件。扫描的view消失,只留对应的textview。不过有点没明白,就是isMediaScannerScanning(a)这个方法

Cursor cursor = query(context, MediaStore.getMediaScannerUri(),

                new String [] { MediaStore.MEDIA_SCANNER_VOLUME }, null, null, null);

        if (cursor != null) {

            result = cursor.getCount() > 0;

返回的是这个resulttrue,所以会出问题,但是这个咋可能有东西MediaStore.MEDIA_SCANNER_VOLUME,没理解,刚刷机不应该啥文件都没有么。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Youth King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值