パルスアンドロイドアプリに似たカスタムUIを作成しようとしています。私が理解しているように、最初に、マークされた下の画像に示すように、最初にカスタムボタンを作成する必要があります。
ボタンには画像とテキストのオーバーレイがあります。私はそれが基本的な質問であることを知っていますが、私はAndroid開発の初心者であるため、この問題に直面しています。これをどうやってやるのか理解するのを手伝ってください。
パルスアンドロイドアプリに似たカスタムUIを作成しようとしています。私が理解しているように、最初に、マークされた下の画像に示すように、最初にカスタムボタンを作成する必要があります。
ボタンには画像とテキストのオーバーレイがあります。私はそれが基本的な質問であることを知っていますが、私はAndroid開発の初心者であるため、この問題に直面しています。これをどうやってやるのか理解するのを手伝ってください。
から単純なレイアウトを作成し、黒のテキストとある程度の透明度を使用して下部に揃えるImageView
ことができます。TextView
両方のビューを内部に配置する必要があります。RelativeLayout.
次に、のクリックリスナーを設定し、クリックRelativeLayout
時に適切なアクションを実行します。
元:
<RelativeLayout
android:id="@+id/item"
android:layout_width="150dp"
android:layout_height="150dp" >
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/my_test_image" />
<TextView
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="#4000"
android:text="Giorgio Armany Galaxy S"
android:textColor="#FFF" />
</RelativeLayout>
次に、プログラムで:
RelativeLayout item=(RelativeLayout)findViewById(R.id.item);
item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// take action
}
});
これは1つのシナリオです。もう1つのシナリオは、Button
必要に応じてカスタムUIコンポーネントを拡張して構成することです。これには、さらにコーディングが必要になりますが、代わりに独自のコンポーネントがあります。
それがあなたの質問に答えたならば、答えを受け入れてください。
次に、グリッド統合の部分について説明します。上記の例のXMLコンテンツ(RelativeLayout + ImageView + TextView)を新しいXMLファイルに保存しますlayout/grid_item.xml
。およびに一意のを
追加しますid
ImageView
TextView
次に、getView()
アダプタのメソッドでそのレイアウトを拡張し、IDでImageViewとTextViewを見つけて、適切なコンテンツを設定します。
これは完全なソースコードではありませんが、基本的なスケルトンは次のようになります。
public View getView(int position, View convertView, ViewGroup parent) {
....
convertView = mInflater.inflate(R.layout.grid_item, null);
....
ImageView myImage=(ImageView)convertView.findViewById(R.id.my_image);
TextView myTextView=(TextView)convertView.findViewById(R.id.my_textview);
myImage.setImageResource(...);
myTextView.setText(...);
...
return convertView
}