WindowManager
を使用してFacebook Messengerで使用されているようなアクティビティオーバーレイを作成するにはどうすればよいですか?WindowManagerを使用してアクティビティをオーバーレイするにはどうすればよいですか?
これは私が
何をしたいこれは私がchatheadsバブルを持って、これまで
最初widnowマネージャのthatsの持っているものです
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
これが私の活動のダイアログの私が持っているコード
WindowManager.LayoutParams params = getWindow().getAttributes();
params.alpha = 1.0f; // lower than one makes it more transparent
params.dimAmount = 0f; // set it higher if you want to dim behind the window
params.type = WindowManager.LayoutParams.TYPE_PHONE;
params.flags = WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.x = 0;
params.y = (int) (height - dpToPx(this,40));
getWindow().setAttributes(params);
これは私のマニフェストでの活動である:ここでは
<activity
android:name=".activity.popup"
android:configChanges="orientation|screenSize"
android:excludeFromRecents="true"
android:label="@string/app_name"
android:launchMode="singleInstance"
android:taskAffinity=""
android:theme="@style/Theme.FloatingWindow.Popup"
android:windowSoftInputMode="adjustPan|adjustResize"
tools:ignore="ExportedActivity" >
</activity>
は私が作ったスタイルファイルで@style/Theme.FloatingWindow.Popup
スタイルです。
<style name="Theme.FloatingWindow.Popup" parent="@style/Theme.AppCompat.Light" >
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowSoftInputMode">adjustResize</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowCloseOnTouchOutside">false</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>