有吸引力的listview与图像

时间:2012-09-26 06:33:32

标签: android android-layout

我想构建一个带有listview或其他的应用程序......看起来非常有吸引力并且有一些图像等等。但是我找不到一个很好的方法来获得它。我确实希望我的应用程序UI像这样的图像:

http://coenraets.org/blog/wp-content/uploads/2011/10/directory_plain_1.png http://coenraets.org/blog/wp-content/uploads/2011/10/directory_plain_2.png

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

2 个答案:

答案 0 :(得分:2)

是。只需将ImageViewTextView放在一个xml布局中即可。并且,将此布局扩展为一个具有ListView的布局,然后执行从 webservice 本地存储

获取图像的过程

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

  1. Lazy load of images in ListView

  2. ListView with images

  3. How to display a list of images in a ListView in Android?

答案 1 :(得分:1)

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

我用自己的视图(图片,文字和复选框)充气的一个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;       
    }
}

你明白了!