0

例如,像 Google+ 一样,有一个大尺寸和两个小尺寸交替显示,直到到达最后一个视图。那么有没有可能做到这一点。

喜欢这张照片: http ://upic.me/show/42297666

Google+ 以不同大小显示每个项目。

谢谢。

4

1 回答 1

0

是的。

1)您创建一个布局(my_layout)负责对齐

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
 android:gravity="left"
 android:padding="1dp"
android:layout_gravity="left"
android:orientation="horizontal" >
<ImageView
    android:id="@+id/contentImage1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:padding="5dp"
    android:visibility="invisible"
    android:src="@drawable/browse_product_thumbnail" />
<ImageView
    android:id="@+id/contentImage2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:padding="5dp"
    android:visibility="invisible"
    android:src="@drawable/browse_product_thumbnail" />

2) 现在为此和 getView() 方法编写和适配器。类似于下面的代码

public class ItemListAdapter extends ArrayAdapter<LaunchItem> {

private int             _resource;
private LayoutInflater  _inflater;
private static Launcher _browse;
private static final String tag = "Adapterr";
public ItemListAdapter(Launcher activity , int resourceId, List<LaunchItem> objects) 
{
        super( activity, resourceId, objects );
        _resource = resourceId;
        _inflater = LayoutInflater.from(activity);
        this._browse = activity;
}




    @Override
    public View getView ( int position, View convertView, ViewGroup parent ) {


        convertView = ( LinearLayout ) _inflater.inflate( _resource, null );

        String imagePath = "";
        String name = "";
        LaunchItem item = getItem( position );


    }

}

您可以决定在 getView 上显示什么以及它们的可见性。

3)在您的代码中使用自定义适配器。

            List<LaunchItem> lList = new ArrayList<LaunchItem>();   
        lList.add(new LaunchItem(image1,image2 );
        ItemListAdapter  data = new  ItemListAdapter (this,R.layout.my_layout,lList);
        view.setAdapter(data);

-普雷亚

于 2012-12-27T13:11:17.327 回答