我正在編寫一個由RCU控制的Android應用程序,而不是觸摸事件/手指。該RCU具有UP,DOWN,LEFT,RIGHT和OK鍵(簡化)。這意味着OK按鈕在當前高亮顯示的圖形對象上處理。例如,想想一下舊的DVD播放器的界面。ListView - 顯示其他顏色的最頂端的項目
我想調整ListView爲此目的。說我想提出的5個選項垂直列表:
- 是(紅色)
- 也許(白色)
- 當然(白色)
- 可能(白色)
- 從不(白色)
最初,第一個選項是,應該使用某種顏色(高亮/對焦顏色),而其他4個選項使用另一種顏色(默認顏色)。
當用戶按下UP時,Maybe被翻譯到頂部並以高亮/對焦顏色顯示;是的是在列表的底部添加,並顯示在默認的顏色:
- 也許(紅色)
- 當然(白色)
- 可能(白色)
- 從不(白色)
- 是(白色)
可能的選項經由ArrayAdapter提供到ListView:
public class DetailOptionsItemAdapter extends ArrayAdapter<String> {
public DetailOptionsItemAdapter(Context context, String[] options) {
super(context, R.layout.options, options);
}
}
在類的構造器,其導出的ListView:
setAdapter(new DetailOptionsItemAdapter(getContext(), new String[]{"Yes", ...})));
我的佈局(R.layout.options)被定義爲以下:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/white"
android:textColorHighlight="@color/red"
android:includeFontPadding="true"
android:ellipsize="end"
android:singleLine="true"/>
當UP或DOWN被接收時,我翻譯要求索引頂端:
smoothScrollToPositionFromTop(... the index ..., 0);
這個工程。到目前爲止,所有內容都以白色顯示,即默認顏色。
現在我需要插入,第一個項目總是紅色。我嘗試在舊的位置獲得視圖並給它一段時間的顏色,並在新的位置獲得視圖,並給它一個紅色,但沒有成功。
有什麼想法?謝謝!
如果有人提供瞭解決問題的方法,那麼您應該選擇一個答案。 – natez0r