具有透明背景和Action Bar的Android Activity?

时间:2014-02-26 09:59:18

标签: android android-layout android-activity android-actionbar

我正在尝试为我的Android应用程序构建一个Popup。它应该是一个不使用整个屏幕的活动,屏幕右侧只有200dp,其余的应该是透明的黑色。

它看起来像/我想要的图片:http://i.stack.imgur.com/6APy6.png

爪哇:

public class ActivitySettings extends BaseActivity implements View.OnTouchListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        setFinishOnTouchOutside(true);
    }

    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        System.out.println("Klicked " + motionEvent.getAction());
        // If we've received a touch notification that the user has touched
        // outside the app, finish the activity.
        if (MotionEvent.ACTION_OUTSIDE == motionEvent.getAction()) {
            finish();
            return true;
        }
        return false;
    }
}

AndroidManifest:

    <activity
        android:name="com.cleverlize.substore.test.ActivitySettings"
        android:label="@string/title_activity_settings"
        android:theme="@style/Theme.Transparent">
    </activity>

样式XML:

<style name="Theme.Transparent" parent="Theme.AppCompat.Light">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@color/itemPremium</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>

所以我只需要调整和ActionBar ......请帮助:)。

3 个答案:

答案 0 :(得分:2)

您可以在清单中使用标题栏和操作栏,主题为

 <activity
            android:name="com.demo.YourActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

和布局

  1. 对于transperancy,您的基本布局背景将为android:background="@android:color/transparent"
  2. 您的容器布局将是 根据您的要求设计android:layout_alignParentRight="true"

答案 1 :(得分:0)

假设您的Activity布局位于LinearLayout内,请从左侧200sp设置内部布局边距:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:orientation="vertical" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="200sp"
        android:background="#FFFFFF"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Text Display"
            android:textColor="#000000" />
    </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

转到Android清单file-> search for the required activity->包括:

<--android:theme="@android:style/Theme.Translucent"-->
活动标签中的

如下:

<activity
           android:name=".Services"
           android:label="@string/title_activity_services"
           android:theme="@android:style/Theme.Translucent" >
</activity>