关闭

备忘

标签: 小知识备忘
210人阅读 评论(0) 收藏 举报

获取屏幕宽高(像素)

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4810次
    • 积分:174
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论
  • adb命令

    kunaifu4571: 你的博客不错,我想问下你编过libjpeg-turbo么?想请教QQ1259489574