Android开发常用知识点

本博文主要记录Android开发中常用但是并不是常能记住的一些知识点,本文长期更新

9.png的知识

上方和左方黑线是控制拉伸范围的,左方和下方控制内容位置,当前可以不用设置左方和下方黑线,默认为上方和左方对应

判断字符串为null或者空字符串

以前使用

if(str == null || str.str.isEmpty())  

或者其他第三方工具类来判断字符串是否为空,但是Android自己早就封装了一个

TextUtils.isEmpty(str)  

来判断字符串是否为null或空字符串。

计算文件大小

android.text.format.Formatter类中formatFileSize(Context, long)方法,用来格式化文件Size(B → KB → MB → GB)

模拟按钮的点击

view对象调用callOnClick(),performClick(),用于触发View的点击事件;performLongClick(),触发长按事件

显示密码

针对TextView(EditText是TextView子类)显示密码,通过setTransformationMethod方法可以显示

text.setTransformationMethod(new TransformationMethod() {  
    @Override
    public void onFocusChanged(View view, CharSequence sourceText, boolean focused, int direction,
            Rect previouslyFocusedRect) {

    }
    @Override
    public CharSequence getTransformation(CharSequence source, View view) {
        return source;
    }
});
设置ListView和GridView快速滑动块是否可见

快速滑动块不同于滚动条,并不是滑动就会显示的,通过调用setFastScrollEnabled(boolean)来设置是否启用,前提是有足够的item来支持快速滑动

发送应用内广播

很多时候,广播并不想被其他程序收到,可以通过LocalBroadcastManager发送应用内广播

获取默认缓存路径
Context.getCacheDir();  

获取缓存数据文件夹的路径,很简单但是知道的人不多,这个路径通常在SD卡上(这里的SD卡指的是广义上的SD卡,包括外部存储和内部存储)Adnroid/data/您的应用程序包名/cache/ 下面.测试的时候,可以去这里面看是否缓存成功.缓存在这里的好处是:不用自己再去手动创建文件夹,不用担心用户把自己创建的文件夹删掉,在应用程序卸载的时候,这里会被清空,使用第三方的清理工具的时候,这里也会被清空。

时间格式化

DateUtils.formatDateTime() 用来进行区域格式化工作,输出格式化和本地化的时间或者日期

Dialog去除默认背景(主要是黑框和标题栏)
<style name="dialog" parent="@android:style/Theme.Dialog">  
        <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">false</item><!--半透明-->
        <item name="android:windowNoTitle">true</item><!--无标题-->
        <item name="android:windowBackground">@color/transparent</item><!--背景透明-->
        <item name="android:backgroundDimEnabled">true</item><!--模糊-->
    </style>

通过以上主题,Dialog会没有自带的一些东西

DialogFragment去除默认边框和标题栏

在onCreate方法中调用

setStyle(DialogFragment.STYLE_NO_FRAME, 0);  

可以去除默认的边框和标题栏

double 保留2位小数以及添加千分号
private DecimalFormat df1 = new DecimalFormat("###,###.00");  

Copyright © 2018 Raye Blog

如果我的文章对你有帮助,或许可以打赏一下呀!

支付宝
微信