0

我有一个要求,其中我需要加载图像的水平滚动视图。图像没有固定数量,因为我从服务器获取内容。

Gallery 已弃用,应使用 ViewPager(如android 文档中所示)

如何在水平滚动视图中使用无限数量的图像?

4

2 回答 2

0

从 Github 试用这个项目。这应该可以满足您的需求。这是pakerfeldt / android-viewflow的链接

于 2012-09-27T01:23:59.043 回答
0
 String RecentBooks="http://";

 ArrayList<List<String>> arrrecentbooks= new ArrayList<List<String>> ();
//HorizontalScrollview created programaticallly

HorizontalScrollView scollviewh = new HorizontalScrollView(this);

    View v1=null;

    LinearLayout linear_pmain = new LinearLayout(this);

        linear_pmain.setOrientation(LinearLayout.HORIZONTAL);
        //      linear_pmain.setBackgroundDrawable(getResources().getDrawable(R.drawable.topshelf));bottomthumbnail

//arrrecentbook 包含从 uri 解析的图像

    int length=arrrecentbooks.size();

 for(int j=0;j<length;j++)
    {
        LayoutInflater vii =     (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        v1=vii.inflate(R.layout.thumbnailrowlayout, null);

        List<String> listitem=arrrecentbooks.get(j);

        String  rimageurl=listitem.get(13); 

        String  rbookprice=listitem.get(10);

  img=(ImageView) v1.findViewById(R.id.imgg);
        TextView txt=(TextView) v1.findViewById(R.id.txtg);
        txt.setText("Rs."+rbookprice+"/-");
        txt.setTypeface(tf,Typeface.NORMAL);    


    img.setTag(new String[]{listitem.get(0),listitem.get(1),listitem.get(2),listitem.get(3),listitem.get(4),listitem.get(5),listitem.get(6),listitem.get(7),listitem.get(8),listitem.get(9),listitem.get(10),listitem.get(11),listitem.get(12),listitem.get(13),listitem.get(14),listitem.get(15),listitem.get(16),listitem.get(17),listitem.get(18),listitem.get(19),listitem.get(20),"recentbooks"});
//image loaded to image view

        {

            imageLoader=new ImageLoader(this);

            imageLoader.DisplayImage(rimageurl, this, img);
        }
        img.setOnClickListener(myIItemClickListener);

        linear_pmain.addView(v1);
    }

    scollviewh.addView(linear_pmain);

    lrecentbooks.addView(scollviewh);
//imgeview on itemclick listener

公共 OnClickListener myIItemClickListener = new OnClickListener() {

@Override

public void onClick(View v) {


    try{

     RelativeLayout borderlyt=(RelativeLayout)findViewById(R.id.Booklyut);

        borderlyt.setBackgroundResource(R.drawable.bgorange);

        String[] Qtag = (String[]) v.getTag();


        Log.d("myItemClickListener", Qtag + "");

        //v.setBackgroundResource(R.drawable.bgorange);

        Intent itemintent = new   Intent(cxt,NoolDashboardDetailPage.class);


        Bundle b = new Bundle();

        b.putStringArray("iarray", Qtag);

        b.putInt("mflag", 0);

        itemintent.putExtra("android.intent.extra.INTENT", b);

        startActivityForResult(itemintent,2);

    }
    catch (Exception e) {

        // TODO: handle exception
    }
}
};
于 2015-11-21T09:44:53.190 回答