我的Android之路(持续更新总结~)

2022-05-05 20:30:34 浏览数 (1)

我的Android之路

  • android设置文字过期废弃中划线
  • 使用release包查看打印日志
  • Android studio的Gradle里面不能打.aar包
  • 抽奖转盘
    • 抽完奖之后设置转盘回到原点
  • dialog
    • 设置不可点击dialog以外的地方
    • dialog设置居中显示
    • dialog去掉头部标题栏
    • dialog解决不能居中
  • 获取当前屏幕方向
  • Android实现手机内存存储功能
    • Android存储SharedPreferences.Editor的commit()和apply()的区别
  • 获取屏幕密度
    • 根据手机的分辨率实现dp(相对大小) 和 px(像素)之间的相互转换
      • dp和px之间相互转换详解
        • dp转px
        • px转dp
  • .xml
    • 设置透明度
    • 设置控件旋转
    • Android按钮文本字母大小写问题
    • ListView
      • ListView属性
      • ListView示例(附详解 源码)

android设置文字过期废弃中划线

代码语言:javascript复制
textView.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG);

使用release包查看打印日志

代码语言:javascript复制
adb shell setprop log.tag.TAG V
(TAG为打印日志设置的TAG名称)

Android studio的Gradle里面不能打.aar包

在Settings里面把下列内容取消勾选即可

抽奖转盘

抽完奖之后设置转盘回到原点

抽完奖之后设置转盘回到原点 FrameLayout中的setRotation设置角度方法(frameLayout.setRotation(0);)

代码语言:javascript复制
// 抽完奖之后设置转盘回到原点
frameLayout.setRotation(0);

dialog

设置不可点击dialog以外的地方

代码语言:javascript复制
// 设置不可点击dialog以外的地方
dialog.setCanceledOnTouchOutside(false);

dialog设置居中显示

代码语言:javascript复制
// dialog设置居中显示
mWindow.setGravity(Gravity.CENTER);

dialog去掉头部标题栏

代码语言:javascript复制
// dialog去掉头部标题栏(去掉标题栏这句一定要写在setContentView()方法的前面,不然会报错)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

dialog解决不能居中

代码语言:javascript复制
// 原因是dialog里面也是有头部标题栏存在的,去掉头部标题栏,再设置居中显示即可
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window mWindow = dialog.getWindow();
mWindow.setGravity(Gravity.CENTER);

获取当前屏幕方向

代码语言:javascript复制
if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {  
    // 竖屏
    LogUtil.e("竖屏");
} else {  
    // 横屏
    LogUtil.e("横屏");
}

Android实现手机内存存储功能

Android存储SharedPreferences.Editor的commit()和apply()的区别

Android存储(SharedPreferences.Editor)commit()和apply()区别: commit和apply虽然都是原子性操作,但是原子的操作不同,commit是原子提交到数据库,从提交数据到存在磁盘中都是同步过程; 而apply方法的原子操作是原子提交到内存中,而非数据库,之后再异步提交数据到数据库中。 commit提交是同步过程,效率会比apply异步提交的速度慢,有返回值;apply没有返回值,无法知道存储是否失败。 在不关心提交结果是否成功的情况下,优先考虑apply方法。

获取屏幕密度

代码语言:javascript复制
// 获取屏幕密度
float scale = context.getResources().getDisplayMetrics().density;

根据手机的分辨率实现dp(相对大小) 和 px(像素)之间的相互转换

dp和px之间相互转换详解

dp转px
代码语言:javascript复制
	/**
     * 根据手机的分辨率从 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
代码语言:javascript复制
	/**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp(相对大小)
     */
    public static int pxToDp(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale   0.5f);
    }

.xml

设置透明度

代码语言:javascript复制
// 设置透明度
android:alpha="0.5"

设置控件旋转

代码语言:javascript复制
// 旋转180度
android:rotation="180"

Android按钮文本字母大小写问题

代码语言:javascript复制
// xml文件中直接设置
android:textAllCaps="false"

ListView

ListView属性

代码语言:javascript复制
android:divider="@null" :不显示分割线
android:dividerHeight="5dp" :指定分割线的高
android:scrollbars="none" :隐藏滚动条

ListView示例(附详解 源码)

0 人点赞