0

ホーム画面として機能するランチャー アプリを作成しました。その中には、それぞれが異なるアプリを表す多くのアイコンがあります。これらのアイコンの下に各アプリの名前を表示する方法を知りたいです。アイコンを表示するクラスは次のとおりです。

ImageAdapter.java

package com.seniorDesign.main.project;

import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter{
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);
        //imageView.setBackgroundColor(Color.BLACK);
        imageView.setLayoutParams(new GridView.LayoutParams(250,200));
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setPadding(8,8,8,8);
        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

    // references to our images
    private Integer[] mThumbIds = {
            R.drawable.phone, R.drawable.calendar, R.drawable.calculator,
            R.drawable.gallery, R.drawable.browser, R.drawable.email, 
            R.drawable.map, R.drawable.sms, R.drawable.camera, R.drawable.contacts,
            R.drawable.notepad_icon
            };
}

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

0

この記事をチェックしてください:

http://www.vogella.com/articles/AndroidListView/article.html#adapterperformance_example

に関連してListViewいますが、に非常によく似たアプローチを使用できますGridView。リストとそのパフォーマンスに関する記事全体を読んで、すべてがどのように機能するかを説明してください。

簡単に言うと、LinearLayoutを垂直方向に膨らませる必要がありImageViewますTextView。いくつかのインスピレーション:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View rowView = convertView;
    if (rowView == null) {
        LayoutInflater inflater = context.getLayoutInflater();
        rowView = inflater.inflate(R.layout.rowlayout, null);
        ViewHolder viewHolder = new ViewHolder();
        viewHolder.text = (TextView) rowView.findViewById(R.id.text_view);
        viewHolder.image = (ImageView) rowView.findViewById(R.id.image_view);
        rowView.setTag(viewHolder);
    }

    ViewHolder holder = (ViewHolder) rowView.getTag();

    holder.text.setText(names[position]);
    holder.image.setImageResource(mThumbIds[position]);

    return rowView;
}
于 2013-03-04T18:21:03.137 に答える
0

画像とテキストを使用して各アイテムのレイアウトを作成します。このレイアウトをリストまたはグリッドビューのアイテムに設定します。画像をテキスト名でマップできます。したがって、getView では、すべてのアイテムにテキストと画像の両方を設定できます。

于 2013-03-04T17:44:06.753 に答える