TextSwitch 及 OnItemSelectedListenter

我想实现的效果如下:


上面是定义的一个textView,下面是定义的一个textSwitch,分别用来显示图片的代号,切换一张显示相应的号,代码如下:

tv = (TextView) findViewById(R.id.textView1);
		ts = (TextSwitcher) findViewById(R.id.textSwitcher1);
		ts.setFactory(this);
		SDPATH = Environment.getExternalStorageDirectory()+"/PIC/dong.png";

 galleryFlow.setOnItemSelectedListener(this);//焦点改变的时候相应的变化
        galleryFlow.setSelection(1);   
		tv.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				savePic(getViewBitmap(getWindow().getDecorView()),SDPATH);//截取当前屏幕
				Toast.makeText(getApplicationContext(), "savePic success!!!", Toast.LENGTH_SHORT).show();
				Log.d("tag", "success!!!");
			}
		});
    }  

	public static Bitmap getViewBitmap(View v) {

		v.clearFocus();
		v.setPressed(false);

		// 能画缓存就返回false
		boolean willNotCache = v.willNotCacheDrawing();
		v.setWillNotCacheDrawing(false);
		int color = v.getDrawingCacheBackgroundColor();
		v.setDrawingCacheBackgroundColor(0);
		if (color != 0) {
			v.destroyDrawingCache();
		}
		v.buildDrawingCache();
		Bitmap cacheBitmap = v.getDrawingCache();
		if (cacheBitmap == null) {
			// Log.e(TAG, "failed getViewBitmap(" + v + ")", new
			// RuntimeException());
			return null;
		}
		Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);
		// Restore the view
		v.destroyDrawingCache();
		v.setWillNotCacheDrawing(willNotCache);
		v.setDrawingCacheBackgroundColor(color);
		return bitmap;
	}

	// 保存到sdcard
	// savePic(getViewBitmap(v), "sdcard/xx.png");
	private static void savePic(Bitmap b, String strFileName) {
		FileOutputStream fos = null;
		try {
			fos = new FileOutputStream(strFileName);
			if (null != fos) {
				b.compress(Bitmap.CompressFormat.PNG, 90, fos);
				fos.flush();
				fos.close();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	@Override
	public View makeView() {
		// TODO Auto-generated method stub
		TextView tv = new TextView(this);
		tv.setTextSize(30);
		return tv;
	}

	@Override
	public void onItemSelected(AdapterView<?> parent, View view, int position,
			long id) {
		// TODO Auto-generated method stub
		Log.d("tag", "position--->"+position);
		tv.setText(temp1[position]);
		ts.setText(temp1[position]);
	}

	@Override
	public void onNothingSelected(AdapterView<?> arg0) {
		// TODO Auto-generated method stub
		Log.d("tag", "onNothingSelected");
	}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值