【问题标题】:How to Toggle Visibility of FAB with Another FAB如何切换 FAB 与另一个 FAB 的可见性
【发布时间】:2017-05-22 20:58:26
【问题描述】:

这段代码使要按下的FAB消失:

val fab = findViewById(R.id.fab) as FloatingActionButton
    fab.setOnClickListener({ view ->
        findViewById(R.id.fab2)

        if(view.visibility == VISIBLE) {
            view.visibility = INVISIBLE
        }
        else view.visibility = VISIBLE

【问题讨论】:

  • 点击同一个工厂视图(已经隐藏),一按就会消失,再也不会出现。根据代码解释..

标签: java android kotlin


【解决方案1】:
findViewById(R.id.fab1).setOnClickListener {
    val fab2 = findViewById(R.id.fab2)

    fab2.visibility = if(fab2.visibility == View.VISIBLE) View.INVISIBLE else View.VISIBLE
}

findViewById(R.id.fab1).setOnClickListener { view ->
    val fab2 = findViewById(R.id.fab2)

    fab2.visibility = if(fab2.visibility == View.VISIBLE) View.INVISIBLE else View.VISIBLE
}

findViewById(R.id.fab1).setOnClickListener {
    findViewById(R.id.fab2).apply { 
        visibility = if(visibility == View.VISIBLE) View.INVISIBLE else View.VISIBLE
    }
}

【讨论】:

  • 我在尝试“fab2.visibility”,但“visibility”会变成红色。我想去掉“视图”就是答案。为了将来参考,为什么会出现这个问题?谢谢。
  • @BaldAndroid 你尝试过 Kotlin Android 扩展吗?如果是这样,您需要在代码中添加正确的导入。看看kotlinlang.org/docs/tutorials/android-plugin.html
  • 我正在使用 Android Studio v3。您的代码有效,我只是想知道为什么删除“视图”使它有效,所以我知道什么时候包含它,什么时候不包含它。
  • @BaldAndroid 更新了答案。我们也可以输入view ->
  • 哦,好的。我明白现在是什么问题了。谢谢。
【解决方案2】:
fab1=(FloatingActionButton)findViewById(R.id.fab1);
fab2=(FloatingActionButton)findViewById(R.id.fab2);
fab1.setOnClickListener(new View.OnClickListener{
public void onClick(View view){
if(fab2.getVisibility()==View.VISIBLE)
fab.setVisibility(View.GONE)or invisible
else
fab.setVisibility(View.VISIBLE)

}});

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 2018-11-02
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    相关资源
    最近更新 更多