1

我想用一个listview或任何东西构建一个应用程序。它看起来很有吸引力,并且有一些图像等等。但我找不到一个好的方法来拥有它。我完全希望我的应用程序UI像这样的图像:


(来源:coenraets.org


(来源:coenraets.org

我想像这样的图像显示我的应用程序请建议我该怎么做?如果你知道一些教程,请提供链接。

4

2 回答 2

2

是的。只需在一个 xml 布局中ImageView放置一个。TextView并且,将此布局扩展为一个布局,该布局具有并且,在那里执行从webListView服务获取图像或本地存储的过程

在这里,我提供了一些可能对您非常有用的示例链接 -

  1. ListView 中图像的延迟加载

  2. 带有图像的列表视图

  3. 如何在 Android 的 ListView 中显示图像列表?

于 2012-09-26T06:42:51.657 回答
1

您需要在 XML 文件中构建所需的布局,就像为Activity. 然后只需为您的每一行扩展 XML 布局ListView并设置其值和图像。

我用自己的视图(图片、文本和复选框)膨胀的一个 ArrayAdapter 的示例:

private class FriendListAdapter extends ArrayAdapter<User> {

    public FriendListAdapter(Activity a, int textViewResourceId, List<User> items) {
        super(a, textViewResourceId, items);
    }

    public class ViewHolder{
        public TextView username;
        public ImageView image;
        public CheckedTextView ctv;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder;

        if (v == null) {
            LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.invite_friend_row, null);
            holder = new ViewHolder();
            holder.username = (TextView) v.findViewById(R.id.username);
            holder.username.setTypeface(tf);
            holder.image = (ImageView) v.findViewById(R.id.image);
            holder.ctv = (CheckedTextView) v.findViewById(R.id.checked);
            v.setTag(holder);
        }
        else{
            holder = (ViewHolder) v.getTag();
        }

        final User user = getItem(position);
        if(user != null){
            holder.username.setText(user.getName());
            holder.ctv.setChecked(user.isChecked());
            holder.image.setImageView(user.getImage());
        }

        return v;       
    }
}

你明白了!

于 2012-09-26T06:35:20.203 回答