基本的に、既に持っているコードから単純なコンポーネントをカプセル化したいと考えています。
基本的にLinearLayout
はボタン付きです。これらのボタンは に変更を加えListView
ます。他にもいくつかの小さな操作があります。
現在、私はそれらの XML レイアウトを持っており、ボタン、リストとその他の小さなものとの間の相互作用など、他のすべてをプログラムでセットアップしています。
明らかに、私は自分自身に考えました。これをカプセル化しましょう。
LinearLayout
を拡張してボタンを追加することから始めました。ボタンを膨張させてビューに追加する方法が既にわかりませんビューが作成される直前に、メジャーや膨張などをいじることなく、このボタンを作成するためにオーバーライドする方法は何ですか?
私は周りを見回しましたが、私が見たカスタムコンポーネントは、完全に新しいコンポーネントか、カスタムコンポーネントに小さな機能を追加しただけのコンポーネントです。
これを行うためのガイドラインはありますか?良いチュートリアル/例?
どんな助けでも大歓迎です。ありがとう !
編集:
さて、もう少し具体的な内容です。
View
基本的に、 のフィルター ボタンを保持するを作成したいと考えていますListView
。これは、さまざまなフィルターを使用してさまざまな場所で使用されるため、ボタンには柔軟性が必要です。
基本的には、次のようなことをしたいと思います。
CustomView view = new CustomView(activity);
view.addButton("Lala", new OnFilterClickListener {
onClick(ListView list, View v) {
// Do the filtering
}
});
mListView.addHeaderView(view);
ボタンを表示するための重みをビューに適応させ、アクティブなフィルターをユーザーに表示するなどのことをしたい。
しかし、これらの動的に追加されたボタンを表示する方法、それらをどこで生成するのか、それらを膨らませる方法などはまだよくわかりません。