2016-09-17 4 views
0

のスクリーンショットを撮る:2 textviewsが重なっている私はこの形で私のレイアウトのxmlを持つネストされたRelativeLayout

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:orientation="vertical"> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/ 
    res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     android:background="#3fb399" 
     tools:context="com.sparrowred.cardsender.customizeCard"> 

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/ 
     res/android" 
      android:id="@+id/relativeViewPrint" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:orientation="vertical" 
      android:weightSum="1" 
      android:layout_above="@+id/button_send" 
      android:layout_alignParentStart="true" 
      android:layout_below="@+id/add_button"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="180dp" 
       android:id="@+id/textView_wish_card" 
       android:textAlignment="center" 
       android:textSize="20sp" 
       android:layout_weight="0.06" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentStart="true" /> 

      <TextView 
       android:layout_width="149dp" 
       android:layout_height="112dp" 
       android:background="@drawable/image0" 
       android:layout_gravity="center" 
       android:alpha="0.4" 
       android:id="@+id/textView_wish_cardBack" 
       android:layout_weight="0.75" 
       android:layout_alignTop="@+id/textView_wish_card" 
       android:layout_alignParentStart="true" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentEnd="true" /> 

     </RelativeLayout> 

    </RelativeLayout> 

</LinearLayout> 

。 1つはイメージ(透明)ともう1つは、カラーとテキスト(これは1つのRelativeLayoutにあり、重複している)です。このRelativeLayoutのスクリーンショットを取得したいと思います。私はこの方法を使用しましたが、動作しません。助けてください?//データ/アプリ:54:12.452:W /システム(4926):クラスローダ未知のパスを参照

private void ScreenShot2(){ 
    Display display = getWindowManager().getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    RTLout.measure(View.MeasureSpec.makeMeasureSpec(0, 
    size.x), View.MeasureSpec.makeMeasureSpec(0, size.y)); 
    RTLout.layout(0, 0, RTLout.getWidth(), RTLout.getHeight()); 
    RTLout.setDrawingCacheEnabled(true); 
    RTLout.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); 
    Bitmap b = Bitmap.createBitmap(RTLout.getDrawingCache()); 
    RTLout.setDrawingCacheEnabled(false); 
    if(b !=null) { 
     try { 
      String extr = Environment.getExternalStorageDirectory(). 
      getAbsolutePath().toString() + File.separator + "Pictures" 
      + File.separator + "Screenshots"; 
      File dir = new File(extr); 
      if (!dir.exists()) 
       dir.mkdirs(); 
      String fileName = 
      new SimpleDateFormat("yyyyMMddhhmm'_report.jpg'"). 
      format(new Date()); 
      File myPath = new File(dir, fileName); 
      FileOutputStream fos = null; 
      try { 
       fos = new FileOutputStream(myPath); 
       b.compress(Bitmap.CompressFormat.JPEG, 100, fos); 
       fos.flush(); 
       fos.close(); 
       MediaStore.Images.Media.insertImage(getContentResolver(), 
       b, "Screen", "screen"); 
      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     }catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

この方法は、私が見つけたいくつかのコードの混合...... 09から17 16でありますcom.sparrowred.cardsender-1/lib/arm64 09-17 16:54:12.670:W/art(4926):Android 4.1より前は、android.graphics.PorterDuffColorFilterメソッドとandroid.support.graphics.drawable.VectorDrawableCompat.updateTintFilterメソッドandroid.graphics.drawable.Drawableでpackage-privateメソッドを間違ってオーバーライドしていました。 09-17 16:54:12.796:I/System(4926):core_booster、getBoosterConfig = false 09-17 16:54:12.869:I/Sys E/HAL(4926):load:id(4926):core_booster、getBoosterConfig = false 09-17 16:54:13.232:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:13.246:グリモック 09-17 16:54:13.314:E/HAL(4926):ロード:id = gralloc!= hmi-> id = gralloc 09-17 16:54:13.315: I/OpenGLRenderer(4926):初期化されたEGL、バージョン1.4 09-17 16:54:13.322:W/OpenGLRenderer(4926):ロード:so =/system/lib64/libhwuibp.so 09-17 16:54:13.322 :W/OpenGLRenderer(4926):dlopenが失敗しました:ライブラリ "/system/lib64/libhwuibp.so"が見つかりません 09-17 16:54:13.322:W/OpenGLRenderer(4926):バイナリプログラムキャッシュを初期化してください:ロード失敗 09 -17 16:54:13.322:E/HAL(4926):ロード:id = gralloc!= hmi-> id = gralloc 09-17 16:54:13.456:I/HwSec ImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 17.773:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceは 09から17 16 nullである18.189:I/HwSecImmHelper(4926):mSecurityInputMethodServiceはヌル 09でありますI/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:20.195:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがnull 09-17 16:54:20.218:I/HwSecImmHelper(4926)システム(4926):core_booster、getBoosterConfig = false 09-17 16:54:20.286:I/System(4926):core_booster、getBoosterConfig = false 09-17 16:54:20.635:W/Settings(4926):設定airplane_mode_onがandroid.provider.Settings.Systemからandroid.provider.Settings.Globalに移動し、読み取り専用値を返します。 09-17 16:54:20.655:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:20.842:I/System(4926):core_booster、getBoosterConfig = false 09-17 16:54: I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:22.137:I/HwSecImmHelper(4926):20.906:I/System(4926):core_booster、getBoosterConfig = false 09-17 16:54:21.452: :54:mSecurityInputMethodServiceがヌル 09から17 16 22.137:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 22.238:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンがゼロの長さを持つことができない 09 -17 16:54:22.238:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません。 09-17 16:54:25.969:I/Hw SecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 26.647:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 27.986:I/HwSecImmHelper(4926):mSecurityInputMethodServiceはヌル 09であります-17 16:54:28118:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:28.128:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:28.158:I/HwSecImmHelper(4926):mSecurityInputMethodService nullである 09-17 16:54:28.158:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:28.193:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません 09-17 16:54:28.193:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにできません 09-17 16:54:29.363:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:30.134: I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌルです 09-17 16:54:30.142:I/HwSecImmHelper(4926):mSecurityInputMet hodService is null 09-17 16:54:30.170:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:30.170:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54 :30.209:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません 09-17 16:54:30.209:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにできません 09-17 16:54:30.814 :I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 31.279:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 32.477:I/HwSecImmHelper(4926):mSecurityInputMethodServiceでありますnull 09-17 16:54:32.587:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル-17 16:54:32.596:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:32.627:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:32.627: SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません 09-17 16:54:32.656:E/SpannableStringBuilder(4926):mSecurityInputMethodServiceはnullです。 :54:33.375:I/HwSecImmHelper(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンはゼロ長 09から17 16を持つことができない54:mSecurityInputMethodServiceはヌル 09から17 16 33.756:I/HwSecImmHelper(4926):mSecurityInputMethodServiceはヌル 09であります-17 16:54:34.710:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:34.836:I/HwSecImmHelper(4926) ):54:mSecurityInputMethodServiceがヌル 09から17 16 34.853:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 34.883:I/HwSecImmHelper(4926):mSecurityInputMethodServiceは 09から17 16 nullであります:54:34.884:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがnull 09-17 16:54:34.912:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにできません 09-17 16:54:34.912:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません。 09-17 16:54:35.525:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:35.626:I/HwSecImmHelper(4926): mSecurityInputMethodServiceがnull 09-17 16:54:35.632:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンcann SPAN_EXCLUSIVE_EXCLUSIVEスパンは長さがゼロではありません 09-17 16:54:35.632:E/SpannableStringBuilderゼロ長さ 09-17 16:54:36.980:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さはゼロではありません 09-17 16:54:37.201:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンにゼロ長 9月17日16:54:37.201:Eは/ SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンがゼロの長さを持つことができない 9月17日16:54:37.419:Eは/ SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンはゼロ長さを持つことができない 09-17 16:54:37419:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません 09-17 16:54:39.064:E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さをゼロにすることはできません 09-17 16:54:39.064: E/SpannableStringBuilder(4926):SPAN_EXCLUSIVE_EXCLUSIVEスパンの長さがゼロではない 09-17 16:54:39.835:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌル 09-17 16:54:41.707:I/HwSecImmHelper(4926) :54:mSecurityInputMethodServiceがヌル 09から17 16 45.142:I/HwSecImmHelper(4926):54:mSecurityInputMethodServiceがヌル 09から17 16 46.084:I/HwSecImmHelper(4926):mSecurityInputMethodServiceは 09から17 16 nullです。 54:47.246:I/HwSecImmHelper(4926):mSecurityInputMethodServiceがヌルです 09-17 16:54:47.395:I/art(4926): System.exitが呼び出されました。ステータス:0 09-17 16:54:47.395:I/AndroidRuntime(4926):VMが結果コード0で終了し、クリーンアップがスキップされました。

は、それはあなたがgetDrawingCacheによってビットマップに追加する前に、あなたのレイアウトにbuildDrawingCacheメソッドを呼び出していないようだ右1

答えて

0

願っています。

はこのような何か(このコードは、あなたが使用する他のオプションなしで)実行します。

RelativeLayout RTLout= (RelativeLayout)findViewById(R.id.relativeViewPrint); 
RTLout.setDrawingCacheEnabled(true); 
RTLout.buildDrawingCache(); 
Bitmap bm = view.getDrawingCache(); 
+0

おかげで、それは私では動作しません。 –

+0

処理中に例外が発生するか、単に空のファイルを保存するだけですか? – abbath

+0

I/HwSecImmHelper:mSecurityInputMethodServiceがnull これはAndroidのプログラミングに関する私の最初の試みです:/ –

関連する問題