在水平滚动视图中更改并按住背景颜色图像视图

Change and hold the background color image view inside the horizontal scrollview

在我的应用程序中,我在 HorizontalScrollView 中使用了 ImageViewImageView 图片从 URI 获取(json 解析),并使用通用图片加载器将图片加载到 ImageView
我的问题是如何更改 ImageView 项目点击时相应图像的背景。
提前致谢

我必须尝试的:

 String RecentBooks="http://";

 ArrayList<List<String>> arrrecentbooks= new ArrayList<List<String>> ();

//Horizo​​ntalScrollview 以编程方式创建

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"});

//图像加载到图像视图

            {

                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 侦听器

   public 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
        }
    }
};

我相信你想在触摸时突出显示图像?

在您的 img.setOnClickListener(myIItemClickListener); 下方尝试以下操作:

img.setOnTouchListener(new View.OnTouchListener() {                 
    public boolean onTouch(View v, MotionEvent e) {   
        if (e.getAction() == MotionEvent.ACTION_DOWN) {
            ((ImageView) v).setColorFilter(0x44E79B0E, PorterDuff.Mode.SRC_ATOP);
        }
        if ((e.getAction() == MotionEvent.ACTION_UP) || (e.getAction() == MotionEvent.ACTION_CANCEL)) {
            ((ImageView) v).setColorFilter(null);
        }
        return false;
    }
});

将“0x44E79B0E”更改为您想要的透明颜色。

如果对你有用,请告诉我。