在以前的xml布局中,我有多个视图组,其中包含很少的元素.隐藏每个视图组也会隐藏其所有子元素.因为我想要平面结构并尝试过ConstraintLayout.酷我知道如何链接元素与蔓延正确对齐.由于扁平结构没有包裹LinearLayout,现在我有3个视图隐藏.我想知道是否有替代方案来实现这一目标.
没有约束布局
<RelativeLayout....
..........
..........
<LinearLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/filter_area"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/lblTerminal"
android:background="@color/lightGray"
style="@style/PurpleSubtitle"
android:drawableRight="@drawable/i_down_yellow"
android:drawableEnd="@drawable/i_down_yellow"
android:padding="10dp"
android:text="@string/lblTerminal"
android:layout_weight="5"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<View
android:background="@android:color/black"
android:layout_width="1dp"
android:layout_height="match_parent"/>
<android.support.v7.widget.AppCompatTextView
android:id="@+id/lblCategory"
android:background="@color/lightGray"
android:padding="10dp"
android:drawableRight="@drawable/i_down_yellow"
android:drawableEnd="@drawable/i_down_yellow"
style="@style/PurpleSubtitle"
android:text="@string/lblCategory"
android:layout_weight="5"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
.......
.......
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
约束布局
<android.support.constraint.ConstraintLayout
.....
.....
.....
#happy that i no longer need LinearLayout for align properly
<android.support.v7.widget.AppCompatTextView
android:id="@+id/lblTerminal"
android:background="@color/lightGray"
style="@style/PurpleSubtitle"
android:drawableRight="@drawable/i_down_yellow"
android:drawableEnd="@drawable/i_down_yellow"
android:padding="10dp"
android:text="@string/lblTerminal"
android:layout_weight="5"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintTop_toBottomOf="@+id/txt_search"
app:layout_constraintRight_toLeftOf="@+id/view3"
app:layout_constraintLeft_toLeftOf="@+id/guideline2"
app:layout_constraintHorizontal_chainStyle="spread"/>
<View
android:background="@android:color/black"
android:layout_width="1dp" …Run Code Online (Sandbox Code Playgroud) xml android visibility android-layout android-constraintlayout
我开始学习Proguard for android。经过一番阅读,我开始尝试在我的项目中使用。当我开始生成发布版本时,我在 android studio 终端中看到了很多警告和注释。我知道这完全取决于我的代码库和我使用的第三方库。
我的问题
我不明白这些警告想说什么?但是构建肯定会失败并且无法生成apk文件。
令人惊讶的是,添加-dontwarn packagename*将忽略这些警告,但再次不确定这样做是否安全。仅仅通过添加忽略这些警告总是可行的-dontwarn吗?
-dontwarn [class_filter]
指定完全不对未解析的引用和其他重要问题发出警告。可选的过滤器是一个正则表达式;ProGuard 不会打印有关名称匹配的类的警告。忽视警告可能是危险的。例如,如果确实需要处理未解析的类或类成员,则处理后的代码将无法正常运行。仅当您知道自己在做什么时才使用此选项!
那么肯定在这一点上,我真的不知道我在做什么。如果您能帮助我理解,我将不胜感激;-)。
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy
只需通过在proguard-rules.pro 中添加这一行来关闭上述警告
-不要警告改造2.**
这将创建MyViewModel具有默认或零参数的对象。
我的活动
ViewModelProviders.of(this)
.get(MyViewModel::class.java)
Run Code Online (Sandbox Code Playgroud)
MyViewModel如果类有自定义参数构造函数,我该如何创建?
我的视图模型
class MyViewModel(context: Application,
private val repository: MistakesRepository) : AndroidViewModel(context) {
val showLoading = ObservableBoolean(false)
val liveItems = MutableLiveData<List<Mistake>>()
fun loadAllMistakes(forceLoad: Boolean) {
}
}
Run Code Online (Sandbox Code Playgroud)
在搜索了几篇博客文章后,可以通过自定义工厂对象来完成。但为什么没有关于这个开发者页面的文档呢?或者我在这里错过了什么?