2017-05-03 62 views
1

我嘗試了很多主題以徒勞地將活動更改爲警報對話框。之前,我記得完成,但不能現在就做無法將活動更改爲AlertDialog

這裏的應用程序的主題:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowBackground">@color/background</item> 

</style> 

這裏的活動,我想變成一個警告對話框:

實時活動包含比這更多(按鈕,線性佈局,文本視圖)。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
tools:context="com.famiddle.android.thechanakyanitiplus.NotificationCenter"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/notification_center_title" 
    android:gravity="center_horizontal" 
    android:textColor="@color/colorAccent" 
    android:layout_marginTop="8dp" /> 

</ScrollView> 

它的Java文件(NotificationCenter.java)

public class NotificationCenter extends AppCompatActivity { @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // To remove status bar 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     //  WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_notification_center);}} 

按鈕,將開始本次活動:

LinearLayout notificationManager = (LinearLayout) findViewById(R.id.notification_manager); 
    notificationManager.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(getApplicationContext(), NotificationCenter.class)); 

     } 
    }); 

最後,AndroidManifest文件:

<activity 
     android:name=".NotificationCenter" 
     android:theme="@style/Theme.AppCompat.Dialog" 
     android:excludeFromRecents="true"> 

    </activity> 

我已經嘗試了不同的主題在這裏提到Android Activity as a dialog,但每當我點擊按鈕,它有點崩潰的應用程序(重新啓動它)。

回答

0

如果你問我,這很簡單。試試這個主題並注意父主題:

Theme.AppCompat.Light.Dialog。這就是將活動轉變爲AlertDialog所需要的。如果您需要黑暗的主題,請移除「光」。我還添加了一些與您的應用主題相匹配的「項目」。我希望這將有所幫助。

<!-- NOTIFICATION MANAGER THEME --> 
<style name="AppDialogTheme" parent="Theme.AppCompat.Light.Dialog"> 
    <!-- Customize your theme here. --> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowBackground">@color/background</item> 
</style> 
+0

感謝,@Arpit爾斯基它的工作。 –

0

你見過這個link

你可以更多地關注你想達到的目標嗎?

+0

我試圖把一個活動到AlertDialog在標題中提到 –

+0

檢查鏈接.. – koherent

+0

我的活動擴展程序兼容性 –