のスクリーンショットを撮る: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
おかげで、それは私では動作しません。 –
処理中に例外が発生するか、単に空のファイルを保存するだけですか? – abbath
I/HwSecImmHelper:mSecurityInputMethodServiceがnull これはAndroidのプログラミングに関する私の最初の試みです:/ –