代码仓库

1.获取屏幕的宽高

mTabline = (ImageView) findViewById(R.id.id_iv_tabline);
		Display display = getWindow().getWindowManager().getDefaultDisplay();
		DisplayMetrics outMetrics = new DisplayMetrics();
		display.getMetrics(outMetrics);
		mScreen1_3 = outMetrics.widthPixels / 3;

2.在代码中改变控件间属性,位置

LayoutParams lp = mTabline.getLayoutParams();
		lp.width = mScreen1_3;
		mTabline.setLayoutParams(lp);

3.自写指示器       

http://blog.csdn.net/u012360634/article/details/51705287


4.ScreenUtil

public static int[] getScreenSize(Context context) {
        int screenSize[] = new int[2];

        WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);

        Display metrics =  windowManager.getDefaultDisplay();
        screenSize[0] =  metrics.getWidth();
        screenSize[1] =  metrics.getHeight();
        return screenSize;
    }
获取屏幕的宽高
//获取当前屏幕的宽和高
int screenWidth = ScreenUtil.getScreenSize(getContext())[0];
int screenHeight = ScreenUtil.getScreenSize(getContext())[1];


5.保存图片并显示在图库

/**
	 * 保存
	 */
	public void onSave() {
		mCanvas.save(Canvas.ALL_SAVE_FLAG);
		mCanvas.restore();
		File appDir = new File(Environment.getExternalStorageDirectory(),
				"Boohee");
		if (!appDir.exists()) {
			appDir.mkdir();
		}
		String fileName = System.currentTimeMillis() + ".jpg";
		File file = new File(appDir, fileName);
		FileOutputStream fos = null;
		try {
			// f.createNewFile();
			fos = new FileOutputStream(file);
			desBitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
			fos.flush();
			fos.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 其次把文件插入到系统图库
		try {
			MediaStore.Images.Media.insertImage(context.getContentResolver(),
					file.getAbsolutePath(), fileName, null);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		// 最后通知图库更新
		context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
				Uri.fromFile(new File(file.getPath()))));
	}


6.自定义构造函数

public DragLayout(Context context) {  
  this(context, null);  
}  
public DragLayout(Context context, AttributeSet attrs) {  
  this(context, attrs, 0);  
}  
public DragLayout(Context context, AttributeSet attrs, int defStyle) {  
  super(context, attrs, defStyle);  
}  


7.移动动画

	private Scroller scroller;
	scroller = new Scroller(getContext());
	private void closeMenu(){
		scroller.startScroll(getScrollX(), 0, 0-getScrollX(), 0, 400);
		invalidate();
	}
	/**
	 * Scroller不主动去调用这个方法
	 * 而invalidate()可以掉这个方法
	 * invalidate->draw->computeScroll
	 */
	@Override
	public void computeScroll() {
		super.computeScroll();
		if(scroller.computeScrollOffset()){//返回true,表示动画没结束
			scrollTo(scroller.getCurrX(), 0);
			invalidate();
		}
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值