1. 程式人生 > >安卓5.0新增系統設定方法

安卓5.0新增系統設定方法

安卓5.0後使用dashboard佈局設定介面,即最外層介面使用dashboard佈局,每個dashboard-tile對應一個preferencesceen。

<!-- WIRELESS and NETWORKS -->
<dashboard-category
    android:id="@+id/wireless_section"
    android:title="@string/header_category_wireless_networks" >

    <!-- Wifi -->
    <dashboard-tile
        android:id="@+id/wifi_settings"
        android:fragment="com.android.settings.wifi.WifiSettings"
        android:icon="@drawable/ic_settings_wireless"
        android:title="@string/wifi_settings_title" />

上面程式碼中有個android:fragment=”com.android.settings.wifi.WifiSettings”屬性,屬性有什麼用,需要看一下DashboardTileView的原始碼,就很清晰裡。

在 com.android.settings.dashboard包Dashboardtileview中有如下程式碼

@Override
public void onClick(View v) {
    if (mTile.fragment != null) {
        Log.i("mTilt.fragment", mTile.fragment);
        Utils.startWithFragment(getContext(), mTile.fragment, mTile.fragmentArguments, null, 0,
                mTile.titleRes, mTile.getTitle(getResources()));
    } else if (mTile.intent != null) {
        getContext().startActivity(mTile.intent);
    }

DashboardTileView是通過往view中動態傳入各種屬性構建,類似於adapter。上面的程式碼是dashboardTileView的點選事件監聽,可以發現dashboardtileview點選後有兩種啟動方式,一種是直接啟動一個fragment,另一種即是根據intent啟動一個activity。所以上面的設定android:fragment實際上就是為了在這裡啟動使用的,含義類似與隱式啟動的intent。所以我們接下來完成需要啟動的fragment或者activity就可以在點選dashboardtileview的時候完成跳轉。

但是,這時候執行發現會報錯,系統找不到這個fragment,因為我們並沒有把fragment和dashboardtileview的id新增到構造數組裡去。

在com.android.settings包中找到settings類中,
private int[] SETTINGS_FOR_RESTRICTED = {
R.id.wireless_section,…….}

這個數組裡新增dashboardtileiew的id,

private static final String[] ENTRY_FRAGMENTS = {
WirelessSettings.class.getName(),…….}}

這個數組裡按程式碼格式新增你需要新增的fragment的類名。

完成上述步驟,就可以在設定中新增設定選項。

相關推薦

5.0新增系統設定方法

安卓5.0後使用dashboard佈局設定介面,即最外層介面使用dashboard佈局,每個dashboard-tile對應一個preferencesceen。 <!-- WIRELESS and NETWORKS --> <dashbo

Dialog設定背景透明無效,在5.0系統上無效解決方法

困擾了大半天的一個問題,寫一個關閉按鈕突出的dialog,在eclipse上面寫的Demo,然後執行在魅族,紅米,華為手機上都沒問題,都能正常的突出按鈕(其中魅族手機和華為手機都是5.0以上的系統),

Android最新flash播放器----支援5.0+系統

版本:11.1.115.81 大小:4.4M 更新:2014-07-25 環境:Android 4.1或以下 上面這個外掛很熟悉,在android 4.1 前對於想用webview 載入flash 是一個不錯的 方式。可現在不行了。 外掛根本不管用。這個時候你真的沒有別的辦法,或者你發現UC瀏覽

5.0以後禁止文字編輯框EditText複製、貼上、選擇、全選等功能的幾種可行性方法探索

現在各手機廠商深度化定製rom,在谷歌原生系統上重新開發了很多功能,比如EditText的長按或雙擊事件彈出框支援線上翻譯,搜尋等,如果你的專案出於資訊保安考慮想禁止這些功能實現的話,你會發現網上現有的方法都無法做到適配所有手機,總有那麼幾款漏網之魚,非常頭疼。下面介紹兩種自

手把手教你深度定製tiny44125.0系統(一)---開發板如何預置檔案到android系統

想要預置檔案,首先要了解Android原始碼中device這個目,開啟這個目錄我們看到,這個目錄廠家會針對不同的開發板做一些修改:在這個目錄中,我們看到有不同的廠家定製的資訊,我們這款開發板是友善之壁提

unity+android:大版本更新安裝下好的apk,相容任意5.0,7.0,8.0版本

Android Studio 1:在專案的res目錄下建立xml目錄,再建立file_paths.xml檔案。 <?xml version="1.0" encoding="utf-8"?> <paths> <root-pa

5.0後的新佈局-卡片佈局(CardView)

簡介: CardView是Android5.0系統引入的控制元件,它繼承自FrameLayout,除了父類的屬性,它自己也有些屬性. CardView的常用屬性: app:cardElevation 設定陰影的大小

5.0 6.0新特性簡單總結

Android 5.0新特性 1. 瞭解Material Design 概念:融合卡片式,立體式的設計風格,強調層次感,動畫,陰影等元素演示Android5.0 DemoAndroid UI樣式風格發展:2.3版本(黃色醜陋版)->4.0(Holo)->5.0(

5.0 WebView 使用WebRTC, 呼叫攝像頭與麥克風時的許可

安卓5.0 WebView 支援WebRTC, 可是老是說需要給web使用攝像頭與麥克風時的許可,差了好多天,巨灰心。 今天終於解決了,新增: myWebView.setWebChromeClient(new WebChromeClient(){//---WebRTC:

基於5.0水波紋效果製作及自定義水波紋顏色

安卓5.0以後很多ui效果的改進都是為提高使用者體驗,其中水波紋效果是5.0以後是在互動方式中做的特殊處理 接下來學習一下水波紋的簡單使用及水波紋顏色的自定義。 首先佈局檔案中給控制元件設定為可點

8.0 O系統頂部通知提示狀態列

安卓8.0系統和8.0以下系統顯示彈出通知狀態列方法。 notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //建立noti

5.0推出的協調者佈局,其實關鍵的程式碼都在xml佈局中

今天想做一個滑動到螢幕頂端的就停在哪裡大圖title,搜了一下資料,其實so  easy,直接上程式碼 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:

5.1預設輸入法設定

1.frameworks/base/core/res/res/values中的config.xml <string-array name="config_disabledUntilUsedPreinstalledImes" translatable=

5.0新加輔助功能(高對比性文字/色彩校正/顏色反轉)學習

摘要 在安卓L版本中,輔助設定中新加了3個功能,分別是高對比性文字,顏色反轉,色彩校正 高對比性文字 先來看看google是怎麼說這個功能的This information applies only to devices running Android 5.0

中PullToRefreshListview新增頭部的方法

PullToRefreshListView第三方的自定義listview用起來很方便,但是有時候我們需要為這個listview新增頭,由於PullToRefreshListView沒有.addHeaderView方法 這時候新增頭,就有點犯難了。其實加頭只需要一句簡單的程式

5.0 之後啟動服務,必須是顯式的,startService()。不能啟動服務

1.當按照正規啟動不了服務的時候,可以試試以下方法: Intent intent = new Intent("com.gnss.GNSSService"); intent.setAction(GPSBOARDCONTROL);//Service能夠匹配的Action

5.0 Material Design設計簡單的一個使用特效

1.先簡單介紹一下 DrawerLayout控制元件的使用. 首先,這個類是在Support Library裡的,需要加上android-support-v4.jar這個包。   然後程式中用

基於5.0中stateListAnimator自定義

在安卓5.0以後控制元件有一個stateListAnimator可以在xml中新增動畫集合 使用方式也很簡單:直接在佈局檔案中通過stateListAnimator引用自定義的select檔案即

6.0 定位許可權設定(特殊)

安卓6.0後藍芽搜尋需要開啟定位服務,使用者第一次經常不明所以會拒絕申請,導致無法使用藍芽功能,下面分析一些特殊品牌手機的定位許可權申請。 1. 小米 (4c android7.0 miui8.2 targetSDKversion 25) 1

5.0通知遇到的問題及原因

首先是傳送普通通知的一段程式碼。 public void send(String string) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);