2016-08-09 4 views
1

textViewをビットマップに変換したいのですが、textviewの中のデータの代わりに黒いスクリーンが表示されます。私はキャッシュテキストビューをビットマップに変換中に黒い画面を解決する

enter image description here

を描画した後、私は私が間違っているつもりですどこか分からない取得しています

enter image description here

画面を変換したい

画面。事前に

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:weightSum="3" 
android:paddingBottom="5dp" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="com.bgc.activity.AlterQuotes" 
tools:showIn="@layout/activity_alter_quotes"> 

<RelativeLayout 
    android:id="@+id/AlterQuotesrl" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1.18"> 

    <TextView 
     android:id="@+id/AlterQuotestvTestText" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:textSize="15sp" 
     android:textColor="#000000" 
     android:background="@drawable/frame" 
     android:layout_gravity="center" 
     android:gravity="center" 
     android:text="@string/sample_name"/> 

</RelativeLayout> 

</LinearLayout> 

RelativeLayout z = (RelativeLayout) findViewById(R.id.AlterQuotesrl); 
z.setDrawingCacheEnabled(true); 
z.buildDrawingCache(); 
Bitmap bitmapSetDrawingChache = Bitmap.createBitmap(z.getDrawingCache()); 
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
bitmapSetDrawingChache.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); 

// saving in sdcard 
File file = new File(Environment.getExternalStorageDirectory().toString() + File.separator + "Birthday Card" + File.separator); 
if(!file.exists()) 
    file.mkdirs(); 

String imageName = "Image-" + DateFormat.getDateTimeInstance().format(new Date()) + ".jpg"; 

fileImagePath = new File(file,imageName); 
try { 
    FileOutputStream fileOutputStream = new FileOutputStream(fileImagePath); 
    fileOutputStream.write(byteArrayOutputStream.toByteArray()); 
    fileOutputStream.close(); 

    AlertDialog.Builder adb = new AlertDialog.Builder(AlterQuotes.this); 
    adb.setTitle("Alert"); 
    adb.setMessage("You will not be able to change, are you sure you want to continue?"); 
    adb.setIcon(this.getResources().getDrawable(R.drawable.ic_black_alert_two)); 
    adb.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      Intent intent = new Intent(AlterQuotes.this, CardMaker.class); 
      intent.putExtra("bitmapPath",fileImagePath.toString()); 
      startActivity(intent); 
     } 
    }); 
    adb.show(); 
} catch (IOException e) { 
    e.printStackTrace(); 
    } 

abc.javaおかげabc.xml私のコードです

..

+2

私はバックグラウンドフレームが透明であると思って、白のように背景色を入れてみてください。 – Max

+0

@アンダーズは感謝の男性に働きました。 :) –

答えて

1

透明な背景は、通常、ビットマップに変換すると背景が黒くなることがあります。背景のフレームの背景色を白の色に少し変えてみてください。TextViewビットマップに変換する。

0

は、ビットマップFRを作成してみてくださいom TextView、現在、RelativeLayoutをビットマップに変換しています...