Android 具有图像的吸引人的listview

Android 具有图像的吸引人的listview,android,android-layout,Android,Android Layout,我想用列表视图构建一个应用程序。。这看起来很吸引人,有一些图片和更多。但我找不到一个好的方法来拥有它。我希望我的应用程序的UI像这样: (来源:) (来源:) 我想像这样显示我的应用程序图片请建议我怎么做?如果您知道一些教程,请提供链接。您需要在XML文件中构建所需的布局,就像在活动中一样。然后为列表视图中的每一行膨胀XML布局,并设置其值和图像 我使用自己的视图(图片、文本和复选框)扩展的一个ArrayAdapter示例: 私有类FriendListAdapter扩展了ArrayAdapt

我想用
列表视图构建一个应用程序。。这看起来很吸引人,有一些图片和更多。但我找不到一个好的方法来拥有它。我希望我的应用程序的
UI
像这样:


(来源:)


(来源:)


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

您需要在XML文件中构建所需的布局,就像在
活动中一样。然后为
列表视图中的每一行膨胀XML布局,并设置其值和图像

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

私有类FriendListAdapter扩展了ArrayAdapter{
public FriendListAdapter(活动a,int textViewResourceId,列表项){
super(a,textViewResourceId,items);
}
公共类视图持有者{
公共文本视图用户名;
公众形象;
公众检查的TEXTVIEW ctv;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
视图v=转换视图;
视窗座;
如果(v==null){
LayoutInflater vi=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
v=vi.充气(R.layout.invite\u friend\u row,空);
holder=新的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=(ViewHolder)v.getTag();
}
最终用户=getItem(位置);
如果(用户!=null){
holder.username.setText(user.getName());
holder.ctv.setChecked(user.isChecked());
holder.image.setImageView(user.getImage());
}
返回v;
}
}

你明白了

是的。只需在一个xml布局中放置一个
ImageView
TextView
。并且,将这个布局膨胀成一个具有
ListView
的布局,并在那里执行从webservice获取图像或本地存储图像的过程

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


  • 你能给我举几个例子吗。。因为我不能让它在视觉上有吸引力。这是phonegap应用程序的图片。你是什么意思?您是否已经尝试过实现此功能,然后制作一个“编辑并显示”代码,以便我可以看到问题所在?请检查此示例-此教程最适合您的要求
    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;       
        }
    }