-1

現在のアクティビティから新しいアクティビティを開始する代わりに、新しいアクティビティを別のアクティビティの上に表示して、アクティビティが表示され、新しいアクティビティが古いアクティビティの上に表示されるようにしたい (画面のすべての領域を占有しない)。

4

2 に答える 2

7

style.xmlで使用

<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">false</item>

    </style>

マニフェストファイルの使用

<activity
            android:name=".YourActivityName"

            android:theme="@style/Theme.Transparent"
             />

そして今、フルスクリーンよりも小さいレイアウトを作成します。

コメントであなたが尋ねたこと

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

    <ImageView
        android:id="@+id/StatusImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:src="@drawable/icon"
        android:visibility="visible" />



</RelativeLayout>

画像は上部のアクティビティに表示されます。ダイアログのように、このように任意のレイアウトを作成できます。

于 2012-07-06T09:05:24.903 に答える
5

activity2このようなレイアウトを作成するための複数の方法を設定したいという別のアクティビティに設定したいのactivity1は、マニフェストファイルでこのようなアクティビティを定義できることです

<activity android:name=".Activity2" android:theme="@android:style/Theme.Dialog"></activity>

したがって、ここのコードでandroid:theme="@android:style/Theme.Dialog"は、アクティビティ 2 がアクティビティ 1 にダイアログとして表示されます。

そして、目標を達成できるように、アクティビティ 2 レイアウトの背景画像を透明にすることをお勧めします

これで問題が 100% 解決するかどうかはわかりませんが、これが目標を達成するための方法だと思います。

于 2012-07-06T09:17:57.387 に答える