`
liguanyi11111
  • 浏览: 62501 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

备忘录

阅读更多

Android相关

 

1.获取系统或其他包的资源文件ID

Resources.getSystem().getIdentifier("status_bar_height", "dimen", "android");

 

 2.如果想一次启动多个Activity,即一次启动一个ActivityTask。使用TaskStackBuilder即可。

 TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
        stackBuilder.addNextIntent(parentIntent);
        stackBuilder.addNextIntent(intent);
        stackBuilder.startActivities();
//        stackBuilder.getPendingIntent()

 

3 canvas.drawText需要居中绘制时。由于drawText是baseline对齐,所以需要增加一定 Y 才能使文字在想要的中点。增加的高度算法如下

private int getTextCenterOffset(Paint.FontMetricsInt metrics) {
        return (metrics.descent - metrics.ascent) / 2 - (metrics.descent - metrics.leading);
    }

 

4如果修改了View的高度或者某些影响大小的属性,一定使用该View调用RequestLayout。不能使用其父ViewGroup的,比如当需要修改多个子View的高度,直接调用父ViewGroup的requestLayout是行不通的。必须挨个调用子View的RequestLayout,因为在调用时,该View会记录一个标记:

public void requestLayout() {
        ...
        mPrivateFlags |= PFLAG_FORCE_LAYOUT;
        ...
    }

  该View 在measure时,会根据这个标记来判断是否调用自己的onMeasure,否则会直接使用缓存数据:

    public final void measure(int widthMeasureSpec, int heightMeasureSpec) {
        ...
        if ((mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT ||
                widthMeasureSpec != mOldWidthMeasureSpec ||
                heightMeasureSpec != mOldHeightMeasureSpec) {

            ...

            int cacheIndex = (mPrivateFlags & PFLAG_FORCE_LAYOUT) == PFLAG_FORCE_LAYOUT ? -1 :
                    mMeasureCache.indexOfKey(key);
            if (cacheIndex < 0 || sIgnoreMeasureCache) {
                // measure ourselves, this should set the measured dimension flag back
                onMeasure(widthMeasureSpec, heightMeasureSpec);
                mPrivateFlags3 &= ~PFLAG3_MEASURE_NEEDED_BEFORE_LAYOUT;
            } else {
                long value = mMeasureCache.valueAt(cacheIndex);
                // Casting a long to int drops the high 32 bits, no mask needed
                setMeasuredDimensionRaw((int) (value >> 32), (int) value);
                mPrivateFlags3 |= PFLAG3_MEASURE_NEEDED_BEFORE_LAYOUT;
            }
           ...
    }

 

 

5. ViewPager可以使用Adapte中的instantiateItem与destroyItem方法来实现重用机制,但是由于这两个方法的调用顺序是随着滑动的方式不同可变的。逆向滑动时instantiateItem会先于destroyItem方法调用,导致无法立刻拿到destroyItem废弃的View。导致缓存里面可能会多一个View占用内存。(暂未解决)

 

6.记录几个不长用的Activity 配置属性

  (1) excludeFromRecents:指是否在历史列表中展示该Activity true即不展示

  (2) finishOnTaskLaunch:是否在重新启动该Activity时,先关闭之前的 true为关闭

  (3) taskAffinity:记录该Activity启动时使用的Task

 

 /*******************************************************/

 其他

 

1. Bilibili 右侧弹幕池在Ubuntu Chrome上乱码问题,解决办法,打开Bilibili设置页,字体下拉框中选择Droid Sans Fallback字体即可解决。

 

2. 使用android studio时,经常引入一个project可能需要下载相应版本的gradle文件。国内的网络会有经常下不下来的情况。所以一般只要先启动下载后,然后手动中断下载。然后自己将用其他方式下下来的gradle的zip包放到默认下载目录上(一般为长传英文乱码文件夹,在用户目录如:/home/liguanyi/.gradle/wrapper/dists/gradle-2.4-all/6r4uqcc6ovnq6ac6s0txzcpc0 ubuntu系统)然后去重新启动下载即可立刻完成。

分享到:
评论

相关推荐

    微信小程序 备忘录 (源码)

    微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...

    微信小程序源码 备忘录(学习版)

    微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习...

    小程序源码 备忘录 (代码+截图)

    小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...

    桌面备忘录(可放在桌面的备忘录)

    【标题】:“桌面备忘录(可放在桌面的备忘录)”是一款便捷的桌面工具,旨在帮助用户轻松记录日常生活和工作中的重要事项。这款备忘录软件设计精巧,可以直接放置在桌面上,便于随时查看和编辑,提高了工作效率与...

    微信小程序 小工具类 备忘录 (源代码+截图)

    微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源代码+截图)微信小程序 小工具类 备忘录 (源...

    微信小程序-备忘录-记录代办事项(源码+截图)

    微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成...

    Android 备忘录源码.rar

    《Android 备忘录应用开发详解》 在移动设备上,备忘录应用程序是一种非常实用的工具,它可以帮助用户记录日常琐事、待办事项或重要想法。Android平台提供了丰富的API和工具,使得开发者能够轻松构建这样的应用。...

    日历备忘录Java源码

    在本项目中,"日历备忘录Java源码" 提供了一套完整的日历应用程序的源代码,主要由四个核心文件组成:NotePad.java、CalendarPad.java、Month.java 和 Year.java。这些文件分别代表了备忘录、日历、月份和年份的功能...

    Android开发备忘录

    设计和实现一个类似个人备忘录的 Android APP ,数据库采用 SQLite (也可以直接访问 Web 端 MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。 1.用户注册和登录(这类 APP 一般面对个人,用户不需要分类别); ...

    Java日历及备忘录

    Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...

    Android程序研发源码Android 备忘录源码.zip

    在Android程序开发中,备忘录应用是一种常见的项目,它涉及到许多核心的Android技术知识点。这份"Android程序研发源码Android 备忘录源码.zip"包含了一个完整的备忘录应用的源代码,可以帮助开发者深入理解Android...

    Android课程设计--便捷备忘录

    **Android课程设计--便捷备忘录** 在移动应用开发领域,Android系统因其开源特性与广泛的应用,成为开发者的重要平台。本项目"Android课程设计--便捷备忘录"旨在教授学生如何利用Android Studio进行应用程序开发,...

    易语言备忘录提醒源码.zip易语言项目例子源码下载

    易语言备忘录提醒源码是一个适用于学习和实践的项目示例,它可以帮助初学者和开发者理解如何使用易语言来创建具有提醒功能的备忘录应用。以下是关于这个项目的一些关键知识点和学习要点: 1. **事件驱动编程**:...

    html制作的备忘录html制作的备忘录

    5. **交互元素**:备忘录通常需要用户输入,所以会使用`&lt;form&gt;`元素来创建表单,`&lt;input&gt;`定义输入字段,`&lt;textarea&gt;`用于多行文本输入,`&lt;button&gt;`创建按钮。通过`&lt;label&gt;`元素关联输入字段和文本,提升可读性和...

    软件实施备忘录.docx

    《软件实施备忘录》是一份详尽的指导文档,旨在帮助项目经理在IT行业中,特别是在管理软件实施领域,成功地进行项目管理和执行。备忘录强调了成为一个优秀的IT项目经理所必需的各种技能和知识,同时也提供了关于业务...

    简易安卓备忘录

    【简易安卓备忘录】是一个基于Java编程语言开发的Android应用程序,主要功能是提供一个便捷的备忘录服务。这个项目对于初学者来说是一个很好的学习资源,它可以帮助理解Android应用的基本架构、Java语言在移动平台上...

    最好用的备忘录 桌面备忘录

    《桌面备忘录:高效管理日常事务的利器》 在我们的日常生活和工作中,常常需要记录各种琐碎但重要的事项,以便随时查阅和提醒。这时,一款好用的备忘录软件就显得尤为重要。"最好用的备忘录 桌面备忘录"就是这样一...

    android studio 简单备忘录

    在Android Studio中开发一个简单的备忘录应用是一个常见的任务,涉及到Android应用程序的基础架构、用户界面设计、数据存储以及事件处理等多个方面。以下是一些相关的知识点: 1. **Android Studio介绍**:Android ...

    微信小程序-------备忘录

    微信小程序备忘录,备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录备忘录...

    C#自制桌面备忘录(自制日历)

    《C#自制桌面备忘录(自制日历)——打造个性化日程管理工具》 在IT行业中,开发一款个性化的桌面备忘录软件是提升工作效率和生活管理的重要手段。本项目名为"C#自制桌面备忘录(自制日历)",采用C#编程语言和...

Global site tag (gtag.js) - Google Analytics