0

パルスアンドロイドアプリに似たカスタムUIを作成しようとしています。私が理解しているように、最初に、マークされた下の画像に示すように、最初にカスタムボタンを作成する必要があります。

ここに画像の説明を入力してください

ボタンには画像とテキストのオーバーレイがあります。私はそれが基本的な質問であることを知っていますが、私はAndroid開発の初心者であるため、この問題に直面しています。これをどうやってやるのか理解するのを手伝ってください。

4

2 に答える 2

3

から単純なレイアウトを作成し、黒のテキストとある程度の透明度を使用して下部に揃える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コンポーネントを拡張して構成することです。これには、さらにコーディングが必要になりますが、代わりに独自のコンポーネントがあります。

于 2012-08-02T11:52:07.647 に答える
1

それがあなたの質問に答えたならば、答えを受け入れてください。

次に、グリッド統合の部分について説明します。上記の例のXMLコンテンツ(RelativeLayout + ImageView + TextView)を新しいXMLファイルに保存しますlayout/grid_item.xml。およびに一意のを
追加しますidImageViewTextView

次に、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
}
于 2012-08-02T12:50:00.280 に答える