Androidはqqリスト式の分類の浮遊するヒントを実現します。
効果図:
このような効果の実現は、ここではカスタム
多くの話をしません。コードと使い方を直接見ます。
プロジェクト構造
上の3つのクラスはそれぞれ私たちのカスタム
二実現コード
1.xmlでExpandable ListViewをカスタマイズすると宣言します。
5.浮遊提示レイアウトの設定
デフォルトのすべての展開
上の手順から分かりますが、CustoomExpandListviewを使って、図中の効果を実現するのはとても簡単です。以上はこの文章の内容です。皆さんの学習や仕事に一定の助けを与えたいです。もし疑問があれば、メッセージを残して交流してもいいです。
このような効果の実現は、ここではカスタム
ExpandableListView
を用いて、現在懸濁している表示区分をスライド中にモニターすることによって実現される指示レイアウトを設定する。今日は時間を作って、コードを整理して、利用過程を記録して、似たような需要がある時に素早く解決できます。多くの話をしません。コードと使い方を直接見ます。
プロジェクト構造
上の3つのクラスはそれぞれ私たちのカスタム
ExpandableListView
、メインインターフェース、ExpandableListView
が使用するAdapter
です。下のいくつかのxmlファイルはそれぞれメインインターフェースレイアウト、インジケータレイアウト、ExpandableListView
サブプロジェクトレイアウト、ExpandableListView
グループレイアウトです。二実現コード
1.xmlでExpandable ListViewをカスタマイズすると宣言します。
<test.com.expandablelistviewdemo.CustomExpandListview // , CustomExpandListview
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"></test.com.expandablelistviewdemo.CustomExpandListview>
2.データソースの関係を宣言する(ここではデモのために、データは全部Stringタイプで、具体的な需要によって変えられます)
private String[] parentSource = {" 1", " 2", " 3", " 4", " 5"};
private ArrayList<String> parent = new ArrayList<>();
private Map<String, ArrayList<String>> datas = new HashMap<>();
3.プレゼンテーションデータを初期化する
//
for (int i = 0; i < parentSource.length; i++) {
parent.add(parentSource[i]);
}
//
for (int i = 0; i < parent.size(); i++) {
String str = parent.get(i);
ArrayList<String> temp = new ArrayList<>();
for (int j = 0; j < 20; j++) {
temp.add("" + j);
}
datas.put(str, temp);
}
4.Adapterの初期化と使用
myAdapter = new MyAdapter(this, parent, datas, listview);
listview.setAdapter(myAdapter);
adapter
を初期化するとき、構造方法においてコンテキストオブジェクト、種類、データ、及び私たちのCustomExpandListview
オブジェクトが入ってきましたので、CustomExpandListview
において、対応する構造方法を追加します。5.浮遊提示レイアウトの設定
listview.setHeaderView(getLayoutInflater().inflate(R.layout.indictor_layout, listview, false));
6.その他デフォルトのすべての展開
for (int i = 0; i < parent.size(); i++) {
listview.expandGroup(i);
}
アイテムクリックイベント
listview.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
Toast.makeText(MainActivity.this, " " + (i + 1) + " " + i1 + " ", Toast.LENGTH_SHORT).show();
return true;
}
}
);
第三総括上の手順から分かりますが、CustoomExpandListviewを使って、図中の効果を実現するのはとても簡単です。以上はこの文章の内容です。皆さんの学習や仕事に一定の助けを与えたいです。もし疑問があれば、メッセージを残して交流してもいいです。