www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 在開發(fā)項目一個與通知欄有關(guān)的功能時,由于自己的項目是基于插件形式的所以無法引入系統(tǒng)可用的布局文件,這樣無法自定義布局,造成無法自定義通知欄的icon。在網(wǎng)上也有一種

 在開發(fā)項目一個與通知欄有關(guān)的功能時,由于自己的項目是基于插件形式的所以無法引入系統(tǒng)可用的布局文件,這樣無法自定義布局,造成無法自定義通知欄的icon。

在網(wǎng)上也有一種不用布局文件更換icon的方法,但是由于Android的開放性,某些手機廠商會修改通知的源碼,不是使用系統(tǒng)原有的布局文件方法有一定的局限性。文章如下http://blog.csdn.net/z1074971432/article/details/10446715有興趣的朋友可以看下。

為了適配大多數(shù)的機型這里衍生出一種比較曲線救國的方式。。。

public void show(String title, CharSequence content, Bitmap bitmap, PendingIntent intent)

{

// 在2.3的機子上,如果id相同的notifation,有一個帶ContentIntent一個不帶就會拋異常

_notification.setLatestEventInfo(_context, "", "", null);

_notification.flags = _flag;

RemoteViews hide = _notification.contentView;

initView(_notification,hide, title, content, intent,bitmap);

_manager.notify(_id, _notification);

}

public void cancel()

{

_manager.cancel(_id);

}

@SuppressWarnings("deprecation")

void initView(final Notification bar, final RemoteViews views, String title, CharSequence text, PendingIntent intent, final Bitmap bitmap)

{

bar.contentView = null;

bar.setLatestEventInfo(_context, title, text, intent);

Notification notification = new Notification();

notification.setLatestEventInfo(_context, "", "", null);

View view = notification.contentView.apply(_context, null);//以notification實例化一個View,這個就是系統(tǒng)當(dāng)前使用的布局視圖

ViewGroup group = (ViewGroup) view;

findView(group, new ViewVisitor()

{

@Override

public void onFindView(View item)

{

if (item instanceof ImageView)//查找這個布局下的ImageView就是icon控件

{

bar.contentView.setInt(item.getId(), "setAlpha", 0);//將原有的icon隱藏,由于在小米系統(tǒng)中系統(tǒng)設(shè)置的icon會覆蓋原有設(shè)置的

views.setViewPadding(item.getId(), item.getPaddingLeft(), item.getPaddingTop(), item.getPaddingRight(), item.getPaddingBottom());

if (bitmap != null)

views.setImageViewBitmap(item.getId(), bitmap);//設(shè)置icon圖片

else views.setImageViewResource(item.getId(), _context.getApplicationInfo().icon);

}

else if(item instanceof TextView)

{

views.setViewVisibility(item.getId(), View.GONE);//隱藏最上層的view里的所有的TextView,不與底層的重疊

}

}

});

views.setInt(view.getId(), "setBackgroundColor", Color.argb(0, 0, 0, 0));設(shè)置上層布局的背景透明

views.setViewPadding(view.getId(), 0, view.getPaddingTop(), view.getPaddingRight(), view.getPaddingBottom());

bar.contentView.addView(view.getId(), views);//將views添加到原有的布局視圖上

}

public interface ViewVisitor

{

void onFindView(View view);

}

void findView(ViewGroup group, ViewVisitor visitor)//查找視圖里面的所有子視圖

{

for (int i = 0; i < group.getChildCount(); i++)

{

View view = group.getChildAt(i);

if (visitor != null)

visitor.onFindView(view);

if (view instanceof ViewGroup)

findView((ViewGroup) view, visitor);

}

}

由于無法對自定義的布局進行準(zhǔn)確定位,所以這種方式的icon和布局大小與原有系統(tǒng)樣式可能有一點偏差!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

北京2025年9月11日 /美通社/ -- 國際9月11日上午,2025年中國國際服務(wù)貿(mào)易交易會(以下簡稱"服貿(mào)會")—體育賽事經(jīng)濟高質(zhì)量發(fā)展大會現(xiàn)場,北京經(jīng)濟技術(shù)開發(fā)區(qū)工委委員、管委會副主...

關(guān)鍵字: 5G BSP GROUP MOTOR

-Neel Pandya推出Climaty AI,助推營銷新時代 阿聯(lián)酋迪拜2025年8月27日 /美通社/ -- Climaty AI是一家由代理式AI驅(qū)動的全球氣候營銷科技(CliMarTech)公司,由Neel...

關(guān)鍵字: AN AI 創(chuàng)始人 GROUP

其他電腦(比如安卓手機/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個android都支持這個功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

Google 宣布與中國 AR 科技公司 XREAL 達成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺打造的旗艦級 AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

Qt 路線圖致力于實現(xiàn)與各行業(yè)技術(shù)棧的無縫集成,助力企業(yè)與開發(fā)者使用自選工具,更高效地構(gòu)建、擴展和維護軟件解決方案。 芬蘭埃斯波 2025年5月7日 /美通社/ -- 在今日舉行的2025年Qt全球峰會上,Qt...

關(guān)鍵字: GROUP 生態(tài)系統(tǒng) 開發(fā)者 代碼

繼停止維護AOSP開源項目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機以及Chrome瀏覽器等部門裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對谷歌未來業(yè)務(wù)布局的諸多猜測。

關(guān)鍵字: 谷歌 AOSP Android 裁員

在本教程中,我們將使用Capacitor 6、Angular和TypeScript構(gòu)建一個Android應(yīng)用程序,該應(yīng)用程序通過串行端口連接到BleuIO USB加密狗。該應(yīng)用程序允許用戶直接從Android設(shè)備發(fā)送和接...

關(guān)鍵字: Android USB 電容器 BLE設(shè)備

早前媒體報道谷歌將停止維護Android開源項目(AOSP),將Android開發(fā)全面轉(zhuǎn)向內(nèi)部閉源分支,目前這一消息已經(jīng)得到谷歌官方確認(rèn)。

關(guān)鍵字: 谷歌 Android 開源

本項目演示了如何通過OTG (on - go) USB在Android設(shè)備上使用BleuIO USB加密狗作為串行端口。使用電容器6和@adeunis/電容器-串行插件,我們建立串行連接,發(fā)送AT命令,并實時讀取響應(yīng)。該...

關(guān)鍵字: 電容器 Android 傳感器 微控制器 嵌入式系統(tǒng)
關(guān)閉