2014-02-03 3 views
0

В моей панели заголовка приложения у меня есть значок. Нажав на него, вы увидите действие (прозрачное).Прозрачный Активность: Не работает

Я пробовал следующий код в своей деятельности.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
     <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> 
     <application 
      android:theme="@android:style/Theme.NoTitleBar"> 
      <activity 
       android:name=".Notifications" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar"> 
       </activity> 
     </application> 
     <uses-permission android:name="android.permission.CAMERA" /> 

    </manifest> 

раскладка активность

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="325dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="30dp" 
     android:background="@drawable/notification_list_border" 
     android:layout_height="300dp"> 
     <ListView 
      android:id="@android:id/list" 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:cacheColorHint="#00000000" /> 
    </LinearLayout> 

notification_list_border.xml

<?xml version="1.0" encoding="UTF-8" ?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item> 
      <shape android:shape="rectangle" > 
       <solid android:color="#CCCCCC" /> 

       <padding 
        android:bottom="3dp" 
        android:left="3dp" 
        android:right="3dp" 
        android:top="3dp" /> 

       <corners android:radius="5dp" /> 
      </shape> 
     </item> 
    </layer-list> 

Но моя деятельность фон остается черным. Что я здесь делаю неправильно?

Пожалуйста, помогите, Спасибо.

+0

находится ниже работы раствора для вас ?? –

+0

@Erma: Я думаю, что он не работает из-за фона notification_list_border, который имеет цвет #CCCCCC. а также попытаться прокомментировать listview, потому что он сделает ширину полного экрана и не даст ширину 325dp для родительского представления, а сохранит другой вид внутри него и придаст ему некоторую ширину. – Pankaj

ответ

2

просто добавить стиль в 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> 

и эта линия проявляется в деятельности теге

android:theme="@style/Theme.Transparent" 
-1

попробовать этот стиль

<style name="Invisible" parent="@android:style/Theme.Dialog"> 
<item name="android:windowBackground">@android:color/transparent</item> 
<item name="android:windowIsFloating">true</item> 
<item name="android:windowNoTitle">true</item> 
<item name="android:windowContentOverlay">@null</item> 
</style> 

и menifest использовать это свойство для деятельности

android:theme="@style/Invisible" 
+0

Есть ли у кого-нибудь объяснения для -1 – Pankaj

+0

@Erma: I думаю, что он не работает из-за фона notification_list_border, который имеет цвет #CCCCCC. , а также попробуйте прокомментировать listview, потому что он сделает ширину полного экрана и не даст ширину 325dp для родительского представления, вместо этого сохранит другой вид внутри него и придаст ему некоторую ширину. – Pankaj

+0

Спасибо за сообщение об утере. Я не спустил вниз. Я попробую, как ты сказал. –

0

Попробуйте это
добавьте следующее к вашей деятельности в манифест.

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

и установить ваш actvity некоторое дерево синтаксиса прояснит изображение в макете деятельности.

0

Я получил это работает:

Я изменил AndroidManifest.xml следующим образом,

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
     <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> 
     <application 
      android:theme="@android:style/Theme.Translucent.NoTitleBar"> 
     </application> 
     <uses-permission android:name="android.permission.CAMERA" /> 
    </manifest> 

Причина в том, что тема применения была перекрывая тема активности

Смежные вопросы