Ich versuche, eine Ansicht zu meinem Kartencluster zu setzen. ich bin eine Ansicht von einem XML aufblasen und den Text entsprechend Clustergröße einstellen und ich möchte diese Ansicht zeigen. im folgenden Code i erhalte eine null-Bitmap im Gegenzug:android Konvertierung von XML-Ansicht zu Bitmap ohne es anzuzeigen
private Bitmap createClusterBitmap(int clusterSize) {
View cluster = LayoutInflater.from(context).inflate(R.layout.map_cluster, null);
TextView clusterSizeText = (TextView) cluster.findViewById(R.map.cluster);
clusterSizeText.setText(String.valueOf(clusterSize));
Bitmap clusterBitmap = Bitmap.createBitmap(cluster.getLayoutParams().width, cluster.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas clusterCanvas = new Canvas(clusterBitmap);
cluster.layout(cluster.getLeft(), cluster.getTop(), cluster.getRight(), cluster.getBottom());
cluster.draw(clusterCanvas);
return clusterBitmap;
}
und beim Wechsel es an:
private Bitmap createClusterBitmap(int clusterSize) {
View cluster = LayoutInflater.from(context).inflate(R.layout.map_cluster, null);
cluster.setText(String.valueOf(clusterSize));
cluster.setDrawingCacheEnabled(true);
cluster.buildDrawingCache(true);
Bitmap bm = cluster.getDrawingCache();
return bm;
}
im folgenden Code i Null-Zeiger auf der vierten Linie (das Layout params) erhalte Mit dem folgenden Code ich nicht Fehler angezeigt, aber nichts ist drawed:
private Bitmap createClusterBitmap(int clusterSize) {
View cluster = LayoutInflater.from(context).inflate(R.layout.map_cluster, null);
TextView clusterSizeText = (TextView) cluster.findViewById(R.map.cluster);
clusterSizeText.setText(String.valueOf(clusterSize));
Bitmap clusterBitmap = Bitmap.createBitmap(50,50 , Bitmap.Config.ARGB_8888);
Canvas clusterCanvas = new Canvas(clusterBitmap);
cluster.layout(50, 50, 50, 50;
cluster.draw(clusterCanvas);
return clusterBitmap;
}
das ist mein XML:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+map/cluster"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/map_pointer_cluster"
android:gravity="center"
android:orientation="vertical"
android:textColor="@android:color/black"
android:textSize="35dp"
android:textStyle="bold" />
die Lösung in [diese] [1] Antwort [1]: http://stackoverflow.com/questions/2339429/android-view-getdrawingcache- returns-null-only-null/4618030 # 4618030 –