备忘

来源:互联网 发布:2016淘宝客赚不赚钱 编辑:程序博客网 时间:2024/06/06 20:02

获取屏幕宽高(像素)

DisplayMetric dm=new DisplayMetrics();

getWindowManger.getDefaultDisplay.getMetrics(dm);

int wihdth=dm.widthPixels;

int height=dm.heightPixels;


设置numPick 只能拖拉,不允许输入

nP.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);


避免重复点击

  @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        //500毫秒内多次点击,拦截点击事件
        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            if (DateUtils.isFastDoubleClick()) {
                return true;
            }
        }
        return super.dispatchTouchEvent(ev);
    }

//是否在500毫秒内多次点击
    public static boolean isFastDoubleClick() {
        long time = System.currentTimeMillis();
        long timeD = time - lastClickTime;
        if (timeD >= 0 && timeD <= 500) {
            return true;
        } else {
            lastClickTime = time;
            return false;
        }
    }


使用布局里的Fragment

myFragment=(MyFragment) getSupportFragmentManger.findFragmentById(R.id.fragment_my);


点击notification 进入一个activity ,退出当前activity 进入指定的另一个activity 

PendingIntent pdingIntent= PendingIntent.getActivities(context, 0,
                makeIntentStack(context), PendingIntent.FLAG_CANCEL_CURRENT);


protected Intent[] makeIntentStack(Context context) {
        Intent[] intents = new Intent[2];

// 退出OneActivity 进入的另一个Activity

        intents[0] = Intent.makeRestartActivityTask(new ComponentName(context, TwoActivity.class));

//点击notification 进入的activity

        intents[1] = new Intent(context, OnActivity.class);
        return intents;
    }


更新actionbar上的数据,然后更新actionbar  //建议使用toolbar

 invalidateOptionsMenu();


计算控件宽高度

ViewTreeObserver  vto=myTv.getTreeObserver();

vto.addOnGlobalLayoutListener(new ViewTreeObserve.rOnGlobal){

@Override

public void onGlobalLayout(){

myTv.getViewTreeObserver().removeOnGlobalLayoutListener(this);

Log.e("-->>"," "+myTv.getWidth());

Log.e("-->>"," "+myTv.getHeight());

}

}


监听点击Dialog 外部的事件

 @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {

if(!(event.getX>=-10 && event.getY>=-10) 

||event.getX() >= llAll.getWidth() + 10
                        || event.getY() >= llAll.getHeight() + 20) {//如果点击位置在当前View外部,其中10与20为微调距离

Log.e("-->>","点击了Dialog外部");

}

 return super.onTouchEvent(event);

}









0 0
原创粉丝点击