基本的に私はこれとは反対のことをしたいと思っています: 自分自身の上に別のアクティビティ (私が書いていない) を実行し、そのアクティビティを透過的にします。したがって、別のアプリ (それが何であれ) を実行するようなものですが、カスタムの背景を使用します。
2 に答える
私の悪い英語で申し訳ありませんが、最善を尽くします。
私はその逆が必要です。アクティビティがあり、そこから別のアプリを呼び出します。ただし、ユーザーに関する情報がいくつかある場合があります。そのため、透明なアクティビティを他のアプリにブレンドします。
私はまだしています。背景が透明なアクティビティを作成しました。このアクティビティを呼び出すと、開かれます。しかし、他のアプリの前ではありません。メインのアクティビティが開かれ、その前に透明なアクティビティが開始されます。
しかし、他のアプリの前に透明なアクティビティが表示されるのが好きです。これは可能ですか?
私のコード:
public class MsgDialog extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.msg_dialog);
}
}
これは今までのアクティビティの機能ではありませんが、これは問題ではありません。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" android:background="@color/transparent ">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
レイアウトは 2 つのボタンのみですが、背景は透明です。
<activity android:name=".MsgDialog" android:theme="@style/Theme.Transparent"></activity>
このアクティビティのマニフェスト行:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
</resources>
自分のテーマ リソース
したがって、機能しますが、外国のアプリの前ではなく、自分のアプリの前でのみ機能します。私の問題を解決するアイデアはありますか?
ありがとうございます
別のアクティビティの背景に影響を与えることはできません。
したがって、作成していない他のアクティビティがすでに透過的であるか、他のユーザーが透過的にするように要求するための何らかのタイプの API を提供している場合を除きます (可能ですが、そうではありません)。これを達成する方法は本当にありません。