GridViewの使用とランニングライト効果

4055 ワード

GridViewの使用
gridViewはListViewと同様にリスト表示のビューコントロールである、ListViewは縦リストの形式で表示され、ニュースエントリとしてよく用いられる.gridViewは、横方向のリストをどのくらいの列で表示できるかを示す.両者の使用は非常に似ている.
      1.GridViewのコントロールの作成
レイアウトファイルにgridViewコントロールを作成するには、次のようにします.
             

 

    

ここでは、列ごとに3つ表示するように指定し、重みを使用して高さレイアウトを設定し、layout_を設定します.Heightは0 dpで性能を向上し、verticalSpacingは垂直ピッチ20 dpを設定する
 2.Itemのスタイル
gridView内部の各Itemのスタイルを作成し、カスタムスタイルファイルhome_を新規作成します.list_item.xml、itemのレイアウトを書き込み、以下のようにします.
    




    

    


1枚の画像と1つの文字の説明、1つの機能ItemのスタイルLinearLayoutの中のandroidを識別します:gravity=“center”はitemが中央に表示できるようにするためです
 
 3.Activityコードの作成
Itemスタイルをアンドロイドデバイスに動的に表示する必要があります.コードロジックを書いて実現する必要があります.以下のようにします.
  
 private String mItems[]= new String[]{"    ", "    ", "    ", "    ",
            "    ", "    ", "    ", "    ", "    "};
    private int mPics[] = new int[]{ R.mipmap.home_safe,
            R.mipmap.home_callmsgsafe, R.mipmap.home_apps,
            R.mipmap.home_taskmanager, R.mipmap.home_netmanager,
            R.mipmap.home_trojan, R.mipmap.home_sysoptimize,
            R.mipmap.home_tools, R.mipmap.home_settings};



 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        gvHome = findViewById(R.id.gv_home);
        gvHome.setAdapter(new HomeAdapter());
    }


 class HomeAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            return mItems.length;
        }

        @Override
        public Object getItem(int position) {
            return mItems[position];
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
           View view =  View.inflate(HomeActivity.this,R.layout.home_list_item,null);
            ImageView iv_item = view.findViewById(R.id.iv_item);
            TextView tv_item = view.findViewById(R.id.tv_item);
            iv_item.setImageResource(mPics[position]);
            tv_item.setText(mItems[position]);


            return view;
        }
    }

mItemsとmPicsは、デバイスに動的に表示する文字とピクチャを識別し、onCreateメソッドでは、現在のpositionのItemとItemIdをそれぞれ識別するHomeAdapterを作成する.重要なのはgetViewです.この方法ではiv_ごとにitemとtv_itemは対応する値を添付します.私たちは9つのitemを持っているので、この方法は9回呼び出されます.ここでgridVIewの使用について理解した.
二.ランニングライトの効果
変更機能を完了するにはsinglineとellipsizeの2つのプロパティが必要ですが、この2つのプロパティだけではだめです.フォーカスを取得するには、次のコードが必要です.
     

さっき言った2つのパラメータのほかに、android:focusable=“true”、android:focusableInTouchMode=“true”の2つをtrueに設定します.もちろん、Viewをカスタマイズすることができます.コードの中でfocusが常にtrueであることを保証します.