小编Tix*_*eon的帖子

在约束布局中切换链组的可见性

在以前的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

19
推荐指数
2
解决办法
1万
查看次数

忽略proguard android中的警告是正确的

我开始学习Proguard for android。经过一番阅读,我开始尝试在我的项目中使用。当我开始生成发布版本时,我在 android studio 终端中看到了很多警告和注释。我知道这完全取决于我的代码库和我使用的第三方库。

我的问题

  • 我不明白这些警告想说什么?但是构建肯定会失败并且无法生成apk文件。

  • 令人惊讶的是,添加-dontwarn packagename*将忽略这些警告,但再次不确定这样做是否安全。仅仅通过添加忽略这些警告总是可行的-dontwarn吗?

-dontwarn [class_filter]

指定完全不对未解析的引用和其他重要问题发出警告。可选的过滤器是一个正则表达式;ProGuard 不会打印有关名称匹配的类的警告。忽视警告可能是危险的。例如,如果确实需要处理未解析的类或类成员,则处理后的代码将无法正常运行。仅当您知道自己在做什么时才使用此选项!

那么肯定在这一点上,我真的不知道我在做什么。如果您能帮助我理解,我将不胜感激;-)。

来自我当前项目的 Retrofit2 警告

警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy

警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy

警告:retrofit2.OkHttpCall:找不到引用的类 javax.annotation.concurrent.GuardedBy

只需通过在proguard-rules.pro 中添加这一行来关闭上述警告

-不要警告改造2.**

java android proguard

2
推荐指数
1
解决办法
4009
查看次数

创建自定义参数 android viewmodel 类

这将创建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)

在搜索了几篇博客文章后,可以通过自定义工厂对象来完成。但为什么没有关于这个开发者页面的文档呢?或者我在这里错过了什么?

android viewmodel kotlin

0
推荐指数
1
解决办法
3827
查看次数