小编EvO*_*PiZ的帖子

Google Map + ViewPager2 刷卡冲突

任何处理 ViewPager2 + Fragments + GoogleMap 的人?

我遇到了一个非常有趣的问题,在我的 viewpager 中,我有两个选项卡,每个选项卡都呈现片段。

其中一个片段生成了一张谷歌地图。

当我尝试通过该地图进行操作时,我得到了 viewpager2 试图向左和向右滑动的效果,这真的很烦人,所以我解决它的方法并不是很好。

我通过构造函数将 viewpager 暴露给其中一个片段,并触发了对顶部 viewpager 活动的回调。

在那里,我执行了一个简单isUserInputEnabled的逻辑,而地图处于活动状态时禁用滑动。

一旦片段附加此回调寄存器并调用逻辑。

一旦片段分离,此回调将调用重新启用的逻辑。

这是一个解决方案,但我觉得它不好。有什么更好的想法吗?

与视图重叠对我来说似乎是一个错误。

/* top activity that hosts viewpager2 and it's tabs(fragments) */
class ViewTap extends AppCompatActivity
all the good stuff about viewpager2: ViewPager2
fun registerUi(){
...TapPagerAdapter(...this)
}
override fun fireSensitivityResolver(fragment: Fragment, flag: Boolean){
 if(fragment is ViewMapLoader){
  this.mViewPager2.isUserInputEnabled = !flag
 }
}

/* callback defintion fo handling events about Tab Capale thingies */
interface TabCapableIf {
 fun …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-fragments kotlin android-viewpager2

4
推荐指数
1
解决办法
700
查看次数

UML中的注释“ NonNull”?

Android Studio正在显示注释

`@NonNull`
Run Code Online (Sandbox Code Playgroud)

,我们怎么用UML表示呢?

同样,如何显示注释?

java uml android-studio

3
推荐指数
1
解决办法
100
查看次数

如何禁用底部导航视图的菜单项?

如何禁用 Material Design 底部导航菜单项?我可以设置,.isClickable = false但这不会将菜单项显示为禁用,类似于按钮。我做不到.isEnabled,API 不允许。

底部导航视图 XML

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/menu_item_1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom"
    android:background="@color/colorDark"
    app:menu="@menu/bottom_navigation_menu">
Run Code Online (Sandbox Code Playgroud)

菜单 XML

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
      
    <item
        android:id="@+id/action_home"
        android:title="Home"
        android:icon="@drawable/home_button"
        app:showAsAction="ifRoom" />
Run Code Online (Sandbox Code Playgroud)

活动

class Something : AppCompatActivity() {
    private lateinit var mHomeBtn: BottomNavigationItemView
    override fun onCreate(...) {
        mHomeBtn = this.findViewById(R.id.action_home)
        mHomeBtn.isClickable = false  // <--- will make it unable to click but won't show disabled
        mHomeBtn.isEnabled = false    // <--- will throw an error
        mHomeBtn.setOnClickListener(this)
    }
    ...
Run Code Online (Sandbox Code Playgroud)

android kotlin material-design

3
推荐指数
1
解决办法
4136
查看次数