如何在Image上添加Imageview和Textview?

时间:2015-09-02 20:15:30

标签: android listview android-listview android-listfragment picasso

我使用def find_element(p,n): for count, elm in enumerate(p): # p is a list or sequence if elm == n # maybe 'is' is better as '==' return count return -1 # however, returning None is more Pythonic ListFragment使用以下ArrayAdapter

来显示图片视图列表
list_view.xml

在我的<?xml version="1.0" encoding="utf-8"?> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/img" android:layout_width="match_parent" android:layout_height="200dp"/> 我使用Adapter.getview加载图片:

picasso

这是@Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); if (null == convertView) { convertView = inflater.inflate(R.layout.list_view, parent, false); } Picasso .with(context) .load("http://i.imgur.com/rFLNqWI.jpg") .fit() .into((ImageView) convertView); return convertView; } 类中由onActivityCreated扩展的Fragment方法:

ListFragment

上面的代码给了我一个 TestAdapter adapt = new TestAdapter(getActivity().getApplicationContext(), R.layout.list_view, pictures); setListAdapter(adapt); ,我可以在其中看到从listview库加载的图片。如何在列表视图中picasso加载的text上添加imageimage?像这样穿:

你可以看到一个文字&#34;在这里输入文字&#34;在左下角和右上角的一个图标(不完全在角落) enter image description here

3 个答案:

答案 0 :(得分:0)

您可以实现毕加索Transformation,然后使用位图,然后使用Canvas基元在位图顶部绘制/渲染文本并返回最终位图。

另一种方法是使用带有3个子视图的RelativeLayoutImageView延伸到其父级(RelativeLayout),使其成为整体背景;然后是TextView用于您的文字,最后是ImageView用于您的图标。

答案 1 :(得分:0)

像这样创建list_view.xml

<Relative layout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<ImageView
    android:id="@+id/img"        
    android:layout_width="match_parent"
    android:layout_height="200dp"/>

<EditText
    android:layout_width="wrap_content"
    android:layout_alignParentLeft="true"
    android:text="Type your text"
    android:layout_alignParentBottom="true"
    android:layout_margin="20dp"
    android:layout_height="200dp"/>

</Relative>

答案 2 :(得分:0)

您可以使用ViewHolder设置TextView和图像,然后将它与picasso一起使用。

这是代码段。

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

        if (row == null) {
            LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new ViewHolder();
            holder.titleTextView = (TextView) row.findViewById(R.id.grid_item_title);
            holder.imageView = (ImageView) row.findViewById(R.id.grid_item_image);
            row.setTag(holder);
        } else {
            holder = (ViewHolder) row.getTag();
        }

        GridItem item = mGridData.get(position);
        holder.titleTextView.setText(Html.fromHtml(item.getTitle()));

        Picasso.with(mContext).load(item.getImage()).into(holder.imageView);
        return row;
    }

有关详细信息,请参阅 http://javatechig.com/android/download-and-display-image-in-android-gridview

相关问题