Android實用代碼七段(五)

?

前言

每次分享意味著每次都有進步,本系列以實用為主,歡迎和我分享和推薦好用的代碼段~~

?

聲明
歡迎轉載,但請保留文章原始出處:)?
博客園:http://www.cnblogs.com
農民伯伯: http://over140.cnblogs.com?

?

正文

1、展開、收起狀態欄?

復制代碼
public?static?final?void?collapseStatusBar(Context?ctx)?{
????????Object?sbservice?=?ctx.getSystemService("statusbar");
????????try?{
????????????Class<?>?statusBarManager?=?Class.forName("android.app.StatusBarManager");
????????????Method?collapse;
????????????if?(Build.VERSION.SDK_INT?>=?Build.VERSION_CODES.JELLY_BEAN_MR1)?{
????????????????collapse?=?statusBarManager.getMethod("collapsePanels");
????????????}?else?{
????????????????collapse?=?statusBarManager.getMethod("collapse");
????????????}
????????????collapse.invoke(sbservice);
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????}

????public?static?final?void?expandStatusBar(Context?ctx)?{
????????Object?sbservice?=?ctx.getSystemService("statusbar");
????????try?{
????????????Class<?>?statusBarManager?=?Class.forName("android.app.StatusBarManager");
????????????Method?expand;
????????????if?(Build.VERSION.SDK_INT?>=?17)?{
????????????????expand?=?statusBarManager.getMethod("expandNotificationsPanel");
????????????}?else?{
????????????????expand?=?statusBarManager.getMethod("expand");
????????????}
????????????expand.invoke(sbservice);
????????}?catch?(Exception?e)?{
????????????e.printStackTrace();
????????}
????}
復制代碼

用途:可用于點擊Notifacation之后收起狀態欄
?

2、 獲取狀態欄高度

復制代碼
public?static?int?getStatusBarHeight(Context?context){
????????Class<?>?c?=?null;
????????Object?obj?=?null;
????????Field?field?=?null;
????????int?x?=?0,?statusBarHeight?=?0;
????????try?{
????????????c?=?Class.forName("com.android.internal.R$dimen");
????????????obj?=?c.newInstance();
????????????field?=?c.getField("status_bar_height");
????????????x?=?Integer.parseInt(field.get(obj).toString());
????????????statusBarHeight?=?context.getResources().getDimensionPixelSize(x);
????????}?catch?(Exception?e1)?{
????????????e1.printStackTrace();
????????}
????????return?statusBarHeight;
????}
復制代碼

?

3、ListView使用ViewHolder極簡寫法

復制代碼
public?static?<T?extends?View>?T?getAdapterView(View?convertView,?int?id)?{
????????SparseArray<View>?viewHolder?=?(SparseArray<View>)?convertView.getTag();
????????if?(viewHolder?==?null)?{
????????????viewHolder?=?new?SparseArray<View>();
????????????convertView.setTag(viewHolder);
????????}
????????View?childView?=?viewHolder.get(id);
????????if?(childView?==?null)?{
????????????childView?=?convertView.findViewById(id);
????????????viewHolder.put(id,?childView);
????????}
????????return?(T)?childView;
????}
復制代碼

用法:

復制代碼
@Override
????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
????????if?(convertView?==?null)?{
????????????convertView?=?LayoutInflater.from(getActivity()).inflate(R.layout.fragment_feed_item,?parent,?false);
????????}

????????ImageView?thumnailView?=?getAdapterView(convertView,?R.id.video_thumbnail);
????????ImageView?avatarView?=??getAdapterView(convertView,?R.id.user_avatar);
????????ImageView?appIconView?=?getAdapterView(convertView,?R.id.app_icon);
復制代碼

? 用起來非常簡練,將ViewHolder隱于無形。

?

4、 設置Activity透明

復制代碼
<style?name="TransparentActivity"?parent="AppBaseTheme">
????????<item?name="android:windowBackground">@android:color/transparent</item>
????????<item?name="android:colorBackgroundCacheHint">@null</item>
????????<item?name="android:windowIsTranslucent">true</item>
????????<item?name="android:windowNoTitle">true</item>
????????<item?name="android:windowContentOverlay">@null</item>
????</style>
復制代碼

說明:AppBaseTheme一般是你application指定的android:theme是啥這里就是啥,否則Activity內部的空間風格可能不一致。

用途:用于模擬Dialog效果,比如再Service中沒法用Dialog,就可以用Activity來模擬

?

5、 代碼切換全屏

復制代碼
//切換到全屏
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

//切換到非全屏
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
復制代碼

注意:切換到全屏時,底部的虛擬按鍵仍然是顯示的。次方法可多次調用用于切換

用途:播放器界面經常會用到?

?

6、調用開發者選項中顯示觸摸位置功能

android.provider.Settings.System.putInt(getContentResolver(),?"show_touches",?1);

設置1顯示,設置0不顯示。

?

7、獲取設備上已安裝并且可啟動的應用列表

Intent?intent?=?new?Intent(Intent.ACTION_MAIN);
????????????intent.addCategory(Intent.CATEGORY_LAUNCHER);

????????????List<ResolveInfo>?activities?=?getPackageManager().queryIntentActivities(intent,?0)

注意:使用getInstalledApplications會返回很多無法啟動甚至沒有圖標的系統應用。ResolveInfo.activityInfo.applicationInfo也能取到你想要的數據。

轉載于:https://www.cnblogs.com/pbq-dream/p/5354365.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257430.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257430.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257430.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle 自增1,oracle自增無法從1開始

問題描述我想讓XH字段從1開始增加,由于是varchar類型的,所以就用這種方式,但我發現我的數據表中XH字段是從217開始增加的,為什么啊問題出現的環境背景及自己嘗試過哪些方法相關代碼// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)declarej number;i number;begini:1;j:1;for i …

ceph Luminous版手動安裝零散記錄

1.安裝必要的依賴包&#xff0c;關防火墻&#xff0c;向/etc/hosts內添加域名等 2.安裝ceph 配置yum源 (如果嫌慢&#xff0c;可以配置cachedir/home/yum/$basearch/$releasever和keepcache1兩個參數&#xff0c;在第一次安裝時將安裝包下載到本地做成yum源&#xff0c;給后面的…

C#最簡單最完整的webservice實例

我做java&#xff0c;但最近接觸crm所以必須研究一下C#中的webservice以備后用&#xff0c;其實就是個新手&#xff0c;哈哈&#xff0c;這個實例是我在參考了網上諸多不完整的例子的情況下&#xff0c;自己摸索完成的。期間遇到過一系列的棘手的問題&#xff0c;經過個人努力終…

2015 UESTC 數據結構專題G題 秋實大哥去打工 單調棧

秋實大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 題目連接 http://acm.uestc.edu.cn/#/contest/show/59Description 天行健&#xff0c;君子以自強不息。地勢坤&#xff0c;君子以厚德載物。天天過節的秋實大哥又要過節了&#xff0c;于是他要給心愛的妹子買禮物。但由…

oracle怎么通過sid確定表名,如何獲取Oracle的SID列表

更好的方法是&#xff0c;如果您有權訪問主機并且Oracle安裝使用以下命令&#xff1a;lsnrctl status。這適用于Unix&#xff0c;Linux和Windows機器。 status命令將顯示所有監聽器(及其相關的SID)。C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Pr…

51 Nod 1007 正整數分組【類01背包】

1007 正整數分組 基準時間限制&#xff1a;1 秒 空間限制&#xff1a;131072 KB 分值: 10難度&#xff1a;2級算法題將一堆正整數分為2組&#xff0c;要求2組的和相差最小。例如&#xff1a;1 2 3 4 5&#xff0c;將1 2 4分為1組&#xff0c;3 5分為1組&#xff0c;兩組和相差1…

YTU 2924: 文件操作--二進制文件讀入

2924: 文件操作--二進制文件讀入 時間限制: 1 Sec 內存限制: 128 MB提交: 58 解決: 20題目描述 現有100名學生的姓名(name)、學號(num)、英語(English)、數學(Math)、語文(Chinese)成績存儲在一個二進制文件student.dic中(姓名用char[20]&#xff0c;學號和各科成績用int存儲…

oracle 9.2.0.4,CentOS 4.7 安裝Oracle 9.2.0.4的一些問題

#vi/etc/sysconfig/iptables&#xff0c;增加如下-A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport telnet -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport ssh -j ACCEPT-A INPUT -p tcp -s 0/0 -d 0/0 --dport login -j ACCEPT-…

《機電傳動控制》----學習筆記六

《機電傳動控制》與其他學科的聯系 1、《液壓傳動與氣壓傳動》中提到的液壓控制閥中的電液伺服閥與《機電傳動控制》中的控制電動機里的伺服電機有著密切的聯系&#xff0c;都要求我們對伺服系統有著很好的理解。 2、《電路理論》中電機作為獨立的一章&#xff0c;講到了用向量…

Oracle Imp and Exp (導入和導出) 數據 工具使用

Oracle 提供兩個工具imp.exe 和exp.exe分別用于導入和導出數據。這兩個工具位于Oracle_home/bin目錄下。 導入數據exp 1 將數據庫ATSTestDB完全導出,用戶名system 密碼123456 導出到c:\export.dmp中 exp system/123456ATSTestDB filec:\export.dmp fully 其中ATSTestDB為數據庫…

[Oracle][Corruption]究竟哪些檢查影響到 V$DATABASE_BLOCK_CORRUPTION

根據 471716.1&#xff0c;11g 之后&#xff0c;下列動作如果遇到壞塊&#xff0c;都會輸出記錄到 V$DATABASE_BLOCK_CORRUPTION。- Analyze table .. Validate structure- CTAS(Create table as Select)- Export另外&#xff0c;這些也會記錄的&#xff1a;RMAN > Vali…

oracle使用loop將增加十天,使用loop循環操作DML語句

---loop循環&#xff1a;--創建測試表&#xff1a;suxingPROD>create table total3(2 t1 number(8),3 t2 number(8),4 cr date default sysdate);Table created.#測試表已經創建。--查看表中原來的數據&#xff1a;suxingPROD>select * from total3;T1 T2 CR-…

iOS富文本

iOS富文本 背景&#xff1a;前些天突然想做一個筆記本功能&#xff0c;一開始&#xff0c;覺得挺簡單的呀&#xff0c;一個UITextView,網絡緩存也不干了&#xff0c;直接本地NSUserDefault存儲&#xff0c;然后完事了&#xff0c;美工&#xff0c;弄幾張好看的圖片&#xff0c;…

SQL編程題-----1

首先&#xff0c;題目給出這個數據庫表格 要求寫出SQL語句使之變成如下表格 解決方法&#xff1a; SELECT t1.Rq,t1.勝,t2.負 FROM //t1和t2是自己命的新表格的名字 (SELECT Rq,COUNT(*) AS 勝 //As 勝意思是輸出結果時列名為”勝“FROM testtableWHERE Sh…

maven設置jdk版本

兩種方式&#xff1a;一、可以修改 MAVEN 的 setting.xml 文件&#xff0c;統一修改。<profiles> <profile> <id>jdk-1.6</id> <activation> <activeByDefault>true</activeByDefault>…

獲取系統時間出錯oracle-,oracle 獲取系統時間(轉)

Oracle中如何獲取系統當前時間select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;ORACLE里獲取一個時間的年、季、月、周、日的函數select to_char(sysdate, yyyy ) from dual; --年select to_char(sysdate, MM ) from dual; --月select to_char(sysdate, dd ) f…

PHP環境搭建

以Apache模塊運行PHP環境搭建方法 下載Apache 注意&#xff1a;在http://www.apachelounge.com/ 下載Apache&#xff0c;因為該網站提供的Apache是通過更高版本的VC編譯器編譯的。由于接下來我下載的PHP版本是VC11的&#xff0c;所以下載的Apache版本也是基于VC11的。 download…

Java語言中的-----訪問修飾符

day04 Java語言中的----訪問修飾符一、訪問修飾符概述&#xff1a;訪問修飾符就是對變量或者是方法或者是類的一個修飾&#xff0c;通過修飾以后實現一些必要的權限&#xff0c;主要是說明類成員如何被使用的作用。二、訪問修飾符1、訪問修飾符有哪些&#xff1f;訪問修飾符總共…

六角填數---第五屆藍橋杯

/** 如圖【1.png】所看到的六角形中&#xff0c;填入1~12的數字。使得每條直線上的數字之和都同樣。圖中&#xff0c;已經替你填好了3個數字&#xff0c;請你計算星號位置所代表的數字是多少&#xff1f;請通過瀏覽器提交答案。不要填寫多余的內容。*/ public class 六角填數 {…

linux命令編寫,編寫簡單的linux命令

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;又到了周四分享環節&#xff0c;鑒于最近在看linux編程實踐&#xff0c;所以就的講一下如何編寫一個簡單的who命令。PPTManual PageManual Page 也就是大家常用的m…