小编Sla*_*neR的帖子

GoogleMap onCameraIdle事件未触发

我正在尝试在Google地图上对标记进行聚类,因为地图上的标记太多(大约6000多个标记)。

因此,我在Google上搜索并找到了一些有关标记聚类的文档,并将其应用于我的源代码,但是标记未显示在Google Map中。

FragMap片段的部分源代码。

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    SupportMapFragment map = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.display_map);
    if (map == null) {
        Log.e(Tag, "Google Map fragment(id: display_map) is null reference!");
        return;
    }

    map.getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap) {
    if (DataPackage.getEQMarkerManager() == null) {
        if (!DataPackage.initializeEQMarkerManager(getActivity(), googleMap)) {
            Log.w(Tag, "EQMarkerManager initialization failure");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以及EQMarkerManager其实现GoogleMap.OnCameraIdleListener接口的部分源代码。

public EQMarkerManager(Context ctx, GoogleMap map) {
    // ...
    clusterManager = new ClusterManager<>(ctx, map);
    clusterManager.setRenderer(new EQRenderer<>(ctx, map, clusterManager));

    map.setOnCameraIdleListener(this); …
Run Code Online (Sandbox Code Playgroud)

android google-maps

5
推荐指数
1
解决办法
3565
查看次数

android禁用裁剪recyclerview的项目

未来和现状

第一张图描述我想要什么,第二张图是我得到的。

黑色矩形表示RecyclerView,深红色表示它的项目。海军是ImageView

我在 recyclerview 所属的父视图组上尝试了 clipChildren。

有什么办法可以实现吗?(我也试过动画)

val animation = TranslateAnimation(
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, -dpToPixel(21f, itemView.context)
)
animation.duration = 0

imageView.startAnimation(animation)
Run Code Online (Sandbox Code Playgroud)

- - 编辑 - -


活动布局

val animation = TranslateAnimation(
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, 0f,
    Animation.ABSOLUTE, -dpToPixel(21f, itemView.context)
)
animation.duration = 0

imageView.startAnimation(animation)
Run Code Online (Sandbox Code Playgroud)


ViewHolder 布局

<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView"
                                               android:layout_width="match_parent"
                                               android:layout_height="60dp"
                                               android:background="@android:color/black"
                                               app:layout_constraintLeft_toLeftOf="parent"
                                               app:layout_constraintRight_toRightOf="parent"
                                               app:layout_constraintBottom_toBottomOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

请注意,我不能提供超过 60dp 的高度,并且内部项目具有固定高度 (50dp)。

在此处输入图片说明

android android-layout android-recyclerview

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

空块和Unit有什么区别

空块和返回Unit有什么区别吗?

例如,我们应该让方法的空块不执行任何操作

void ThisMethodDoesNothing() { }
Run Code Online (Sandbox Code Playgroud)


在 kotlin 中,我们可以编写上面的代码,但是这样

fun ThisMethodDoesNothing() = Unit
Run Code Online (Sandbox Code Playgroud)


如果有重复请告知,谢谢。

kotlin

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