AndroidのFast Scroll、アルファベット索引欄

1804 ワード

リストがすばやくスクロールするのは、特に通信録で一般的なニーズです.
今Androidの多くのアプリはアルファベットインデックス欄ですが、実はアルファベットインデックスはIOSの規範で、使いやすいと思って写している人が多いです.
Androidで原生的にFast Scrollと呼ばれていますが、デフォルトで隠されているのが特徴で、アルファベットの列もなく、リストを動かすときにしか現れません.
Fast Scroll実装方法:
  • はListActivityを継承する(普通のActivityではだめらしい);
  • setFastScrollEnabled(true)を呼び出します(XMLで設定することもできます).
  • インデックスの構成(このステップは面倒です.特に中国語)
  • 例:listview-section-based-fast-scroll-in-android
    設定スタイル:(ここではテストを実行していませんが、参考までに)
    
    
        
    
        
    
    
    

    アルファベットインデックスバーの実装方法は、オリジナルのFastScrollを比較することで、カスタムViewを作成してアルファベットを表示します.
    一般的には、まず中国語のピンインの頭文字を手に入れ、英語であればそのまま使用し、アルファベット別に並べてインデックス構成を追加します.すべての事件は自分でやらなければならない.
    これは今では比較的単純で純粋な例を見ていませんが、私はいくつかのプロジェクトを経験して、多くのカスタム構成を行いました.
    キノコ街のインスタント通信オープンソースプロジェクト:TTAndroid Clientを参考にすることができます.
    ピンインの生成には2つの方法があります
  • 漢字回転ピンインandroid実現(HanziToPinyin類)
  • Pinyin 4 jを使用して漢字をピンイン
  • に変換
    Androidの内部の方法を使って、他の人の経験を見て、一部は間違って、自分でコードを調整して、新版がこれらの問題を解決するかどうか分かりません.
    最新版コード:HanziToPinyin.java 、 Transliterator.java;
    例私は前回私のCSDNリソースファイルに着いて、しばらく“呵”が“A”に転換することを発見して、つまり正確率は100%ではありません.
    原生通信録の実現方式は古典的で、ソースコードを研究することができます.