Android小技巧记录

    xiaoxiao2021-11-30  46

    我们在绘制UI的时候经常会需要自定义一些View,在初次使用或者因长期不使用时都会容易犯一些迷糊,本文在此记录一些零碎的小细节备忘。

    一:PopupWindow

    如果要使点击区域外使对话框消失,必须调用以下方法:

    popupWindow.setOutsideTouchable(true); popupWindow.setFocusable(true);//这里必须设置为true才能点击区域外或者消失 popupWindow.setTouchable(true);//这个控制PopupWindow内部控件的点击事件 popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//这个很重要,必须要设置 popupWindow.update();

    上述代码就可以达到点击PopupWindow区域外部使其消失的效果,额外着重要说明的一点:

    popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

    这个方法很关键,因为即使在XML里设置了background也认为是没有背景,必须在这里指定背景,如果不指定将无法触发下面的Touch监听事件。

    popupWindow.setTouchInterceptor(new OnTouchListener() {   @Override   public boolean onTouch(View v, MotionEvent event) {   if (event.getAction() == MotionEvent.ACTION_OUTSIDE)   popupWindow.dismiss();   return false;   }  });

    那么相反,如何让点击区域外不消失呢?这里要注意:

    单单设置下面这一行是没有效果的

    popupWindow.setOutsideTouchable(false);

    还需要同时设置

    popupWindow.setFocusable(false);//点击区域外不会消失,点击返回会执行back事件

    必须添加这一行将其设置为false才能实现点击区域外不消失。

    二:TextView中字体加粗

    英文字体加粗 布局文件中这样设置即可: XML/HTML代码 android:textStyle="bold" 中文字体加粗: TextView textView= new TextView(context);//或通过findViewById从xml导入  TextPaint paint = textView.getPaint();  paint.setFakeBoldText(true);

    PS:未完待续...

    转载请注明原文地址: https://ju.6miu.com/read-679061.html

    最新回复(0)