Android時間軸効果とListViewクリック効果の実現

3244 ワード

  • 時間軸の組成
  • 第1種--タイムラインはitemの中に
  • あります
  • 第2種-タイムラインは外
  • 第3種--クリックアニメーション付き時間軸効果
  • ソースコードダウンロード
  • 一般的な時間軸効果はlistviewで実現され、一般的には円点、時間線、文字の3つのコントロールから構成され、時間線はlistviewの中に置くこともlistviewの親レイアウトに置くこともできます.まず、次の3つの効果を見てみましょう.**
    1.一つ目--タイムラインはitemの中にあります
    これは最も簡単な時間軸の実現方法で、すべてのコントロールはitemの中にあり、次はレイアウトファイルです.
  • item_first.xml
  • 
    
    
        
    
        
    
        
    
    

    2.2つ目--タイムラインは外にあります
    この実装方式はラインがListViewの外にあるので、ラインが「切れる」ことはありません.他のコントロールはitemの中にあります.次はレイアウトファイルです.
  • item_second.xml
  • 
    
    
        
    
        
        
    
    

    3.3つ目--クリック動画付きのタイムライン効果
    1つ目と2つ目のタイムラインは静的で、ListViewの選択後の効果を実現したい場合があります.次に、2つ目に加えて、アニメーションの選択とポイントの変更を実現します.
  • 現在選択するpositionの位置public int point; //
  • を記録するためにadapterにタグを設定する.
  • adapterのgetView()で選択したitem
  • を設定
    if (position == point){  //        
                viewHold.image.setImageResource(R.drawable.point1);
                //     
                Animation scaleAnimation = new ScaleAnimation(1.0f, 1.5f,1.0f,1.5f,0,0.5f,Animation.ZORDER_BOTTOM,0.5f);
                //      
                scaleAnimation.setDuration(500);
                scaleAnimation.setFillAfter(true);
                //       
                viewHold.thirdText.startAnimation(scaleAnimation);
            }
    
  • itemのクリックイベントで
  • public void onItemClick(AdapterView> parent, View view, int position, long id) {
            //  point    point 
            thirdAdapter.point = position;
            //  listview
            thirdAdapter.notifyDataSetChanged();
            thirdListView.setAdapter(thirdAdapter);
        }
    

    この中法はitemをクリックしたときに現在のレイアウトの内容を動的に変更したり、多くの使い方を拡張したりすることもできますが、性能的に最適化する必要があります.
    ソースをクリックしてダウンロード