重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
相对于兄弟元素
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、萨嘎网站维护、网站推广。
android:layout_below="@id/aaa":在指定View的下方
android:layout_above="@id/xxx":在指定View的上方
android:layout_toLeftOf="@id/bbb":在指定View的左边
android:layout_toRightOf="@id/cccc":在指定View的右边相对于兄弟元素
android:layout_below="@id/aaa":在指定View的下方
android:layout_above="@id/xxx":在指定View的上方
android:layout_toLeftOf="@id/bbb":在指定View的左边
android:layout_toRightOf="@id/cccc":在指定View的右边
相对于父元素
android:layout_alignParentLeft="true":在父元素内左边
android:layout_alignParentRight="true":在父元素内右边
android:layout_alignParentTop="true":在父元素内顶部
android:layout_alignParentBottom="true":在父元素内底部
对齐方式
android:layout_centerInParent="true":居中布局
android:layout_centerVertical="true":水平居中布局
android:layout_centerHorizontal="true":垂直居中布局
android:layout_alignTop="@id/xxx":与指定View的上边界一致
android:layout_alignBottom="@id/xxx":与指定View下边界一致
android:layout_alignLeft="@id/xxx":与指定View的左边界一致
android:layout_alignRight="@id/xxx":与指定View的右边界一致
间隔
android:layout_marginBottom=""; 离某元素底边缘的距离
android:layout_marginLeft=""; 离某元素左边缘的距离
android:layout_marginRight ="";离某元素右边缘的距离
android:layout_marginTop=""; 离某元素上边缘的距离
android:layout_paddingBottom=""; 离父元素底边缘的距离
android:layout_paddingLeft=""; 离父元素左边缘的距离
android:layout_paddingRight ="";离父元素右边缘的距离
android:layout_paddingTop=""; 离父元素上边缘的距离
margin 与padding 区别
padding是站在父view的角度,是自己的内容与其父控件的边之间的距离。
margin则是站在自己的角度描述问题,自己与旁边的某个组件的距离
问题环境 :需要建立layout_large文件夹,然无头绪
详情 :
详情如下 :
之前在写屏幕适配的时候,考虑到平板和手机的尺寸不一样,所以想新建一个layout_large文件,想起了以前创建layout文件的做法,具体参见: Android Studio 在layout文件夹建立子文件夹
但是发现还是有问题。对应的activity还是只是指向第一个layout文件中的activity_main.xml文件。找了下解决的方法,这里记录下:
我需要的是在layout和layout_large文件下都创建activity_main2.xml这个文件,在layout文件下创建很容易,直接创建就好了,这里记录下创建layout_large这个文件。
1.右键res-new-Android resource file
2.进入New Resource File
3.单击Size
当我们自定义通知布局的时候,需要通过 NotificationCompat.Builder 设置自定义的 RemoteViews 。而 RemoteViews 中只支持部分布局和控件。如下所示。
布局
控件
注意:上面的信息我是在android-29的 RemoteViews 源码中看到的,其他版本的像
android-26,android-27都没看到,感觉很奇怪。
在上面说通过 NotificationCompat.Builder 设置自定义的 RemoteViews 。有两个方法。
设置通知收起状态RemoteViews
设置通知展开状态的RemoteViews
下面看一下网易云和喜马拉雅通知布局的对比。
通知栏网易云展开布局,喜马拉雅收起布局
通知栏网易云展开布局,喜马拉雅展开布局
通知栏喜马拉雅展开布局,网易云收起布局
通知栏喜马拉雅展开布局,网易云展开布局
在官方的 创建自定义通知布局 中有这么一段话。“ 自定义通知布局的可用高度取决于通知视图。 通常情况下 ,收起后的视图布局的高度上限为 64 dp,展开后的视图布局的高度上限为 256 dp ”。
对这段话我的理解是:
接下来我们测试一下,测试机器
收起布局效果
展开布局效果
收起布局效果
展开布局效果
到这里,有个疑问,如果收起布局大于64dp,展开布局大于256dp会是什么效果呢?接续测试一下。
收起布局效果
展开布局效果
在我的测试机上好像也没什么问题,就是我们的通知布局占据的高度变大了。
结论:可以自定义通知栏高度,但是无论是收起布局还是展开布局都不宜过大。过大的话,会导致用户在通知栏看到的通知数量减少,用户需要滑动才能看到更多的通知信息,影响用户体验。
源码请参考 NotificationDemo 的CustomizeNotificationActivity。
这个需要在手机中设置。
参考链接:
看到个好教程:
更高级的复杂数据存储方法:
工具:DB Browser
或者AS:file - setting - plugins -Database Navigator
开门见坑:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nanmu.room/com.nanmu.room.MainActivity}: java.lang.RuntimeException: cannot find implementation for com.nanmu.room.WordDatabase. WordDatabase_Impl does not exist
原因:依赖问题,中间那一句必加
定义:
这里Word相当于一个表,单个word实例化相当于每一行,db的名字是main中定义的databaseName,Word里的元素相当于key(Entity)
Dao:
Main:
将wordDao.insertWords改成:
其他同理。(用new Thread应该也可以)
使用的时候用这个
new IsertAsyncTask(wordDao).execute(word,word2);
功能和之前一样,不截图了
在 Android 平台记笔记,指的是用手机或者安卓平板写笔记,这里暂时不包括其他设备。
该平台的特点是,移动能力强,便携,但是办公能力弱。这里的阅读是非常方便的,在很多软件的帮助下,阅读体验往往比电脑更好,而且便携性使得这里的阅读可以保证高度连续性。单纯从『阅读』看,这真的是相当优秀的平台,所以,如果能在这样优秀的阅读平台上方便地『写读书笔记』的话,那就太完美了。
马驴我作为“不记笔记会死星人”呢,在这个方面也是各种尝试,费了不少力气,但一直没有很理想的效果,甚至一直连“够用”这个级别的解决方案都没有遇到。直到最近,某个神器的新版本出现,才在很大程度上解决了这个问题(具体是什么,我会在后面说明,这里先卖个关子)。所以现在总算是有了一些相对成体系的解决方案了。
一切一切的前提都是,阅读的同时要记笔记。如果只是单纯的阅读而不记笔记的话,这样的阅读适合于看小说之类的超浅阅读材料,所以不在本文的讨论范围内。嗯,所以在 Android 上阅读也要有良好的记笔记条件才理想。
三星的Note系列我没有见过,所以不清楚一支笔能带来怎样的扭转。单纯说常见的纯触屏设备吧,这些设备如果想要在阅读的时候记笔记的话,需要具备 适合笔记的基本条件 :
如果满足这样的条件的话,就能在区域截屏的基础上,对局部进行文字笔记的记录,最后还能将汇总在一起的笔记导出来。
既然上面列举了笔记的基本条件,那么就要针对性地装一些软件。通常是多个工具配合才能良好运转。
阅读器的话,epub的支持是最为广泛的,mobi在手机上除了kindle以外极少有能打开的工具,而kindle的体验太差,所以, 在Android上阅读尽可能将电子书转化为epub格式。
其余的常见格式就是pdf了(可能还有奇葩的caj),这种东西通常不能转epub或者其他格式,即使勉强转化,效果也不理想。所以直接按原始格式阅读即可。
笔记软件其实在Android上并不需要独家列举,毕竟只要有记录功能就够了——吗??才不是。
笔记不仅仅是写下来而已,一定还要有足够强大的方便性,毕竟阅读实在是一件辛苦事:即使你热爱阅读,也一样。
所以,本着方便的需求,对笔记软件进行审视以后可以发现一些值得推荐的工具:
Epub类:
其他类:
其他无论是网页还是pdf之类的,笔记都相似,采用独立的笔记软件进行整理比较好。
不得不说的是,除了OneNote外,为知笔记也有类似的快速笔记并添加到上一篇笔记的功能,但只限于『复制』而已,与输入是脱轨的,所以灵活性较差,还不完善。其余软件更是完全没在这方面用力。
前面说过的,『区域截图』工具,在Android上必须Root才能正常工作。Root以后这类工具还是一搜一大把的,感觉不出多大区别,就不推荐了,这一步的难点在于Root。
不Root真的就不能区域截图,只能全屏截图!
万事俱备,现在开始分析阅读笔记的写作方法。
这个很简单。以多看阅读为例,阅读的时候发现较好的段落以后直接长按划线,然后写读书笔记就行了。没什么难度。
值得一提的是,在手机上不容易把握全局逻辑,所以这样的阅读通常不是阅读的终点,还需要在电脑上进行进一步的梳理——如果想要更深一层地理解书中内容的话。但单纯在Android上读epub并记笔记的话,这就够了。
相比之下,这个略微困难。
首先我们开启OneNote的悬浮窗,同时开启区域截图工具,然后开始读pdf。
还是要说OneNote在移动端糟糕的阅读体验……所以这里的笔记通常是不能直接在手机上看的,实在很难看。需要在电脑上整理一下,把多余的笔记容器(方框)合并以后,才能正常适应手机屏幕。
补充:没有Root的Android手机,在这一方面会遇到巨大的困难。。。
网页资料,无论是保存到Pocket之类里面还是直接网页阅读都一样,和读pdf差不多,多一步『分享』。这一步是为了保存来源,毕竟这里的阅读明显要零散得多。
所以步骤为:
这个方法还是要提一下,保证方法的完整性……
简单来说就是,Android设备只负责显示阅读材料,而笔记由屏幕外面的实体(纸质)纸笔完成。
适合于为课本记笔记。
这个大家都熟悉,难度较小,只不过记笔记以后整理起来较为困难,这是本方法的最大问题。