Почему загруженное скользящее изображение не загружается в растровое изображение при рисовании на холсте? - PullRequest
0 голосов
/ 09 мая 2019

Когда я пытаюсь нарисовать свой вид на растровом холсте (включая: просмотр карты и изображение), загруженное скользящее изображение не отображается в окончательном растровом изображении, я специально вызываю свой метод в прослушивателе успеха скольжения, чтобы уточнить мое изображение загружен в представление, но, тем не менее, я не получаю изображение, отображаемое в окончательном растровом изображении (только цветное изображение карты).

Вот мой код для загрузки изображения в viewview:

      View marker = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.mapelement, null);
                                        ImageView markerImage = (ImageView) marker.findViewById(R.id.imageView);
                                        CardView cardView = marker.findViewById(R.id.cardview);

                                        Glide.with(getActivity())
                                                .using(new FirebaseImageLoader())
                                                .load(mStorageRef.child("images").child("profilepicture1"))
                                                .listener(new RequestListener<StorageReference, GlideDrawable>() {
                                                    @Override
                                                    public boolean onException(Exception e, StorageReference model, Target<GlideDrawable> target, boolean isFirstResource) {
                                                        return false;
                                                    }

                                                    @Override
                                                    public boolean onResourceReady(GlideDrawable resource, StorageReference model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {

                                                        cardView.setCardBackgroundColor(Color.parseColor(somecolor));

                                                        LatLng markerlocation = new LatLng(somelat, somelong);
                                                        mMap.addMarker(new MarkerOptions().position(markerlocation).
                                                                icon(BitmapDescriptorFactory.fromBitmap(
                                                                        loadBitmapFromView(marker)))).setTitle("new marker");
                                                        return true;
                                                    }
                                                })
                                                .into(markerImage);

для преобразования вида в растровое изображение:

    public static Bitmap loadBitmapFromView(View v) {


        v.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        Bitmap b = Bitmap.createBitmap(v.getMeasuredWidth(), v.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(b);
        v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
        v.draw(c);
        return b;

}
...