我很难理解XML drawables背后的使用模式.一些消息来源说他们应该根据分辨率自动扩展.我的经历说不同.例如,在像这样的向量中使用绝对大小:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp" ... />
Run Code Online (Sandbox Code Playgroud)
实际上将在所有分辨率下以24dp的大小显示此形状.我根本没有观察到任何自动缩放,例如它在平板电脑分辨率上看起来很小.
所以我在values/dimens.xml中声明了各种大小,并将其添加到如下形状:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="@dimen/status_icon_size"
android:height="@dimen/status_icon_size" ... />
Run Code Online (Sandbox Code Playgroud)
哪种方式修复了原始问题,但是在添加min-sdk = 19(Android 4.4)后无法构建.从这些向量生成位图时,编译器似乎在使用dimens.xml中的值时遇到问题:
Error:Error: Width (0) and height (0) cannot be <= 0
Run Code Online (Sandbox Code Playgroud)
我想避免在所有可能的drawables_w***dp中使用多个icon.xml,就像使用dimens.xml一样.我已经有一堆dimens.xml了.矢量图标的整个目的不是容易扩展吗?
问:有没有办法制作一个适当的可扩展图标,适用于所有屏幕分辨率,只有一个XML文件实例在/ res/drawable中?
我有一个片段,其中包含一个RecyclerView.选择列表中的项目将启动Activity2,用于修改项目.在Activity2完成后返回Activity1我观察到RecyclerView首先绘制了Activity2之前的状态(保存了旧项目状态),然后在onActivityResult中我执行了restartLoader(),它提供了一组更新的数据,然后RecyclerView再次使用new重绘自身数据.
这种行为的问题是RecyclerView 闪烁,因为它最初绘制旧数据然后用新数据重绘自己.假设我总是想在Activity1.onActivityResult()中使用refreshLoader(),有没有一种避免这种闪烁的好方法?
额外的复杂性是我使用空视图来显示recycleview是否为空...这会增加闪烁更多......
我很难找到解决以下问题的方法.假设,有一个像这样的表
COL1 FLAG
aaa 1
aaa 0
aaa 1
bbb 0
Run Code Online (Sandbox Code Playgroud)
我需要编写一个查询来获得以下输出:
COL1_VALUE FLAGGED TOTAL
aaa 2 3
bbb 0 1
Run Code Online (Sandbox Code Playgroud)
其中FLAGGED列包含FLAG = 1的'aaa'行值的总数,TOTAL列是包含'aaa'的行总数,换句话说,查找包含'aaa'的行数相对于包含'aaa'的总行数.是否可以使用单个查询?(即不使用临时表等)
(MSSQL2008)