日常問題總結(jié)

代碼修改 drawleft 圖標(biāo)大小

Drawable drawable = getResources().getDrawable(int drawableId);
drawable.setBounds(0, 0, width, height);(一定要先設(shè)置這個)
radioButton.setCompoundDrawables(null, null, drawable, null);(要使用這個方法設(shè)置圖片才能生效)

控制EditText不讓輸入中文(輸入內(nèi)容類型)

自定義EditText重寫onCreateInputConnection()方法
在該方法內(nèi)返回自定義的MyInputConnecttion

 @Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    return new MyInputConnecttion(super.onCreateInputConnection(outAttrs),
            false);
}

創(chuàng)建MyInputConnecttion繼承InputConnectionWrapper實現(xiàn)InputConnection在commitText()方法內(nèi)部控制不能輸入或者可輸入的文字類型

class MyInputConnecttion extends InputConnectionWrapper implements InputConnection {
    public MyInputConnecttion(InputConnection target, boolean mutable) {
        super(target, mutable);
    }

    /**
     * 對輸入的內(nèi)容進行攔截
     */
    @Override
    public boolean commitText(CharSequence text, int newCursorPosition) {
        // 不能輸入漢字
        if (text.toString().matches("[\u4e00-\u9fa5]+")) {
            return false;
        }
        return super.commitText(text, newCursorPosition);
    }

}

讓popuwindow的父類上的控件處理Touch事件,不讓自處理

public static void setPopupWindowTouchModal(PopupWindow popupWindow,
                                            boolean touchModal) {
    if (null == popupWindow) {
        return;
    }
    Method method;
    try {
        method = PopupWindow.class.getDeclaredMethod("setTouchModal",
                boolean.class);
        method.setAccessible(true);
        method.invoke(popupWindow, touchModal);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

android7.0 popuwindow顯示位置錯誤(全屏置頂)

public void showPopupWindow(PopupWindow popupWindow, View view) {
    if (Build.VERSION.SDK_INT < 24) {
        popupWindow.showAsDropDown(view);
    } else {
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        int y = location[1];
        popupWindow.showAtLocation(view, Gravity.NO_GRAVITY, 0, y + view.getHeight());
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,556評論 25 708
  • 總結(jié)一些遇到的問題。日常工作中用到的一些方法總結(jié),有很簡單介紹,可能也有錯誤,如果您看到了希望可以告訴我,會不間斷...
    最后還是個農(nóng)閱讀 1,681評論 4 7
  • 1.正則表達(dá)式中\(zhòng)w \w表示的是匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。因此,需要判斷...
    星月西閱讀 184評論 0 0
  • 1.presentViewController和pushViewController區(qū)別:presentViewC...
    木子尚武閱讀 283評論 0 1
  • 詩曰:幾度夢中與君同,千里江南無君影。可憐不與離人遇,夢醒時分空悲泣。 1、夢中勾畫 時間過去那么久了,心里還總是...
    葉糖糖閱讀 224評論 0 2