2015年6月28日 星期日

android timepicker 設定分間隔

@SuppressLint("NewApi")
private void setTimePickerInterval(TimePicker timePicker) {
try {
Class<?> classForid = Class.forName("com.android.internal.R$id");
// Field timePickerField = classForid.getField("timePicker");
Field field = classForid.getField("minute");
NumberPicker minutePicker = (NumberPicker) timePicker
.findViewById(field.getInt(null));
minutePicker.setMinValue(0);//最小0
minutePicker.setMaxValue(1);//最大1
List<String> displayedValues = new ArrayList<String>();
for (int i = 0; i < 60; i += 30) {//30分為單位
displayedValues.add(String.format("%02d", i));
}
for (int i = 0; i < 60; i += 30) {//30分為單位
displayedValues.add(String.format("%02d", i));
}
minutePicker.setDisplayedValues(displayedValues
.toArray(new String[0]));
} catch (Exception e) {
e.printStackTrace();
}
}

2015年6月17日 星期三

android EditText 取消軟鍵盤自動彈出

Activity

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

Xml

<activity android:name="org.MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden" />
 

或

Dialog

AlertDialog dialog = new AlertDialog.Builder(this).setView(editText).create(); dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); dialog.show();

2015年4月26日 星期日

Android ProGuard 加入第三方包

Android ProGuard混淆打包有第三方jar包的時候混淆配置文件的書寫

-dontwarn com.xx.bbb.** ##第三方jar包的包名不警告找不到引用

-keep class com.xx.bbb.** { *;} ##第三方jar包的包名不混淆

2015年4月23日 星期四

android 同Activity下 設定不同fragment 翻轉

Override setUserVisibleHint() in each fragment.
In the portrait only fragments:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if(isVisibleToUser) {
        Activity a = getActivity();
        if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}
in the the portrait/landscape fragment:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if(isVisibleToUser) {
        Activity a = getActivity();
        if(a != null) a.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
    }
}
This will allow the whole activity to rotate in one fragment, but fix it to portrait in others.

2015年4月20日 星期一

Java 字串 Unicode \u 顯示


public static String escapeUnicode(String input) {
StringBuilder b = new StringBuilder(input.length());
Formatter f = new Formatter(b);
for (char c : input.toCharArray()) {
if (c < 128) {
b.append(c);
} else {
f.format("\\u%04x", (int) c);
}
}
return b.toString();
}

2015年3月6日 星期五

android 9-patch image programmatically

private Drawable getThumb(int resId) {
Bitmap b = GBitmap.getResSoftBitmap(mContext, resId);
byte[] chunk = b.getNinePatchChunk();
NinePatchDrawable mapNinePatch = new NinePatchDrawable(getResources(),
b, chunk, new Rect(), null);
return mapNinePatch;
}

android EditText 光標顏色 全選字

EditText光標的顏色設定

xml
android:textCursorDrawable="@null"


程式碼
 try {
    Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
    f.setAccessible(true);
    f.set(yourEditText, R.drawable.cursor);
} catch (Exception ignored) {
}

全選EditText裡的字
editText.setSelection(0, length);
editText.setSelection(0);
editText.setSelectAllOnFocus(true);