android 9.0 Settings的語言設(shè)置無法使用遙控器操作

1. 簡介

因?yàn)樽罱幚淼腶ndroid9.0的代碼缚柳,在packages\apps\Settings下面的settings是手機(jī)版的屋确,無法使用遙控器進(jìn)行操作撮奏。

2. settings顯示圖片

下面是修改后的圖片


20200923.png

3.增加焦點(diǎn)事件

首先找到布局隅要,布局我們可以通過grep添加語言去找到語言設(shè)置
然后了解到整個布局是recyclerview的控件寫法
那么我們找到recyclerview的adapter报账,然后再通過adapter尋找到布局研底,對item的layout設(shè)置一個背景圖和焦點(diǎn)。

布局文件:packages/apps/Settings/res/layout/locale_drag_cell.xml

<com.android.settings.localepicker.LocaleDragCell xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/local_language"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
//start 增加下面兩行
    android:focusable="true"
    android:background="@drawable/local_bg_focus"
//end
    android:layoutDirection="locale"
    android:minHeight="?android:listPreferredItemHeight"
    android:textDirection="locale" >
···下面的代碼沒有更改透罢,不放在這里

焦點(diǎn)的背景圖顯示
@drawable/local_bg_focus

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_focused="true" >
        <color android:color="#33000000"/>
    </item>

    <item android:state_focused="false" >
        <color android:color="?android:colorBackground"/>
    </item>
</selector>

4.增加onclick事件

在adapter里面監(jiān)聽com.android.settings.localepicker.LocaleDragCell 控件榜晦。
文件目錄:packages/apps/Settings/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java

如果我們不做任何點(diǎn)擊的其他操作,只需要做點(diǎn)擊切換到最上層的操作羽圃,可以直接寫下面的這個部分的代碼乾胶。

        dragCell.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                onItemMove(i, 0);
                notifyDataSetChanged();
                doTheUpdate();
            }
        });

5.補(bǔ)充說明

文件目錄:packages/apps/Settings/src/com/android/settings/localepicker/LocaleListEditor.java
在這個里面是recyclerview的監(jiān)聽類。
如果還有其他的出來點(diǎn)擊替換其他的點(diǎn)擊事件朽寞,可以通過接口的方式來實(shí)現(xiàn)胚吁。

主要思路:

    1. 找到recyclerview的item的layout
    1. 增加焦點(diǎn)的事件
    1. recyclerview的移動是通過notifyItemMoved(i, 0)來實(shí)現(xiàn)移動的
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市愁憔,隨后出現(xiàn)的幾起案子腕扶,更是在濱河造成了極大的恐慌,老刑警劉巖吨掌,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件半抱,死亡現(xiàn)場離奇詭異脓恕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)窿侈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門炼幔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人史简,你說我怎么就攤上這事乃秀。” “怎么了圆兵?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵跺讯,是天一觀的道長。 經(jīng)常有香客問我殉农,道長刀脏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任超凳,我火速辦了婚禮愈污,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘轮傍。我一直安慰自己暂雹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布创夜。 她就那樣靜靜地躺著杭跪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挥下。 梳的紋絲不亂的頭發(fā)上揍魂,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天桨醋,我揣著相機(jī)與錄音棚瘟,去河邊找鬼。 笑死喜最,一個胖子當(dāng)著我的面吹牛偎蘸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瞬内,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼迷雪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虫蝶?” 一聲冷哼從身側(cè)響起章咧,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎能真,沒想到半個月后赁严,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扰柠,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年疼约,在試婚紗的時候發(fā)現(xiàn)自己被綠了卤档。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡程剥,死狀恐怖劝枣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情织鲸,我是刑警寧澤舔腾,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站昙沦,受9級特大地震影響琢唾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盾饮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一采桃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丘损,春花似錦普办、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呈础,卻和暖如春舆驶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背而钞。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工沙廉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人臼节。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓撬陵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親网缝。 傳聞我的和親對象是個殘疾皇子巨税,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355