在其他活动之上设计透明活动

时间:2017-12-21 16:44:47

标签: android android-layout

如何接近这种设计。
想要在其他活动之上设计viewpager活动。应该有黑色的尖叫背景。
屏幕截图下方与我的要求类似。
enter image description here

3 个答案:

答案 0 :(得分:2)

选项1.正常Activity并将其Theme设为

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

选项2.制作ActivityonCreate方法仅显示Dialog的{​​{1}},然后将主题设置为:

<activity android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

答案 1 :(得分:1)

如上所述here

res/values/styles.xml文件中添加以下样式(如果没有,请创建它。)这是一个完整的文件:

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

(值@color/transparent是我放在#00000000文件中的颜色值res/values/color.xml。您也可以在以后的Android版本中使用@android:color/transparent。)

然后将样式应用于您的活动,例如:

<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
...
</activity>

答案 2 :(得分:1)

这是您需要的布局的简单实现。

哟需要记住,父活动布局有透明的黑色背景, 视图寻呼机和视图寻呼机的片段子视图具有透明背景。

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


    <ImageView
        android:layout_margin="40dp"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@color/colorRed" />

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#00000000" />

    <LinearLayout
        android:layout_marginTop="50dp"
        android:id="@+id/viewPagerCountDots"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:gravity="center"
        android:orientation="horizontal" />

</LinearLayout>