textView.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG);adb shell setprop log.tag.TAG V
(TAG为打印日志设置的TAG名称)在Settings里面把下列内容取消勾选即可

抽完奖之后设置转盘回到原点 FrameLayout中的setRotation设置角度方法(frameLayout.setRotation(0);)
// 抽完奖之后设置转盘回到原点
frameLayout.setRotation(0);// 设置不可点击dialog以外的地方
dialog.setCanceledOnTouchOutside(false);// dialog设置居中显示
mWindow.setGravity(Gravity.CENTER);// dialog去掉头部标题栏(去掉标题栏这句一定要写在setContentView()方法的前面,不然会报错)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);// 原因是dialog里面也是有头部标题栏存在的,去掉头部标题栏,再设置居中显示即可
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window mWindow = dialog.getWindow();
mWindow.setGravity(Gravity.CENTER);if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// 竖屏
LogUtil.e("竖屏");
} else {
// 横屏
LogUtil.e("横屏");
}Android存储(SharedPreferences.Editor)commit()和apply()区别: commit和apply虽然都是原子性操作,但是原子的操作不同,commit是原子提交到数据库,从提交数据到存在磁盘中都是同步过程; 而apply方法的原子操作是原子提交到内存中,而非数据库,之后再异步提交数据到数据库中。 commit提交是同步过程,效率会比apply异步提交的速度慢,有返回值;apply没有返回值,无法知道存储是否失败。 在不关心提交结果是否成功的情况下,优先考虑apply方法。
// 获取屏幕密度
float scale = context.getResources().getDisplayMetrics().density; /**
* 根据手机的分辨率从 dp(相对大小) 的单位 转成为 px(像素)
*/
public static int dpToPx(Context context, float dpValue) {
// 获取屏幕密度
final float scale = context.getResources().getDisplayMetrics().density;
// 结果+0.5是为了int取整时更接近
return (int) (dpValue * scale + 0.5f);
} /**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp(相对大小)
*/
public static int pxToDp(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}// 设置透明度
android:alpha="0.5"// 旋转180度
android:rotation="180"// xml文件中直接设置
android:textAllCaps="false"android:divider="@null" :不显示分割线
android:dividerHeight="5dp" :指定分割线的高
android:scrollbars="none" :隐藏滚动条