2014-03-13 48 views
0

使用Android Eclipse IDE時,如何添加由電話菜單按鈕觸發的菜單,使其必須具有「關於」選項,以顯示「關於我的應用」對話框和「退出」選項退出應用程序?Android - 如何添加關於和退出選擇的上下文菜單?

+0

嘿對不起,我猜這是一個很大的問題。最主要的是我如何獲得一個菜單打開,然後打開一個對話框。我可以讓對話框直接打開確定b4 – RubyOnSteve

回答

1

要創建一個關於退出項目的內容菜單,請首先刪除可能與此代碼衝突的關於菜單的任何其他嘗試,然後將以下所有內容添加到項目中。讓Eclipse幫助您添加所需的導入內容或仔細閱讀Android文檔,並嘗試構建它之後,在完成所有步驟之後,它應該可以正常工作:-)

在/ res中創建一個文件夾菜單,其中包含一個文件main.xml以下XML:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_settings"/> 
    <item 
    android:id="@+id/action_quit" 
    android:orderInCategory="101" 
    android:showAsAction="never" 
    android:title="@string/action_quit"/> 
</menu> 

在MainActivity.java添加您的onCreate後,下面是關閉:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.action_settings: 
     AboutDialog about = new AboutDialog(this); 
     about.setTitle(「About 「my app); 
     about.show(); 
     return true; 
    case R.id.action_quit: 
     System.exit(0); 
     return true; 
    } 
} 

添加一個新的Java文件,但擴展對話,而不是活動,如所示:

public class AboutDialog extends Dialog { 
    public AboutDialog(Context context) { 
    super(context); 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    setContentView(R.layout.dialog_about); 
    } 
} 

最後,添加一個新的佈局dialog_about.xml像這樣:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

</ScrollView> 

當然,你需要添加了滾動在另一個佈局和內容,你可能希望在你的菜單其他功能你退出的項目可以使用確認(可能)。但是這應該讓你開始。

+0

這很快....沒有菜單文件夾在res – RubyOnSteve

+0

您可能必須創建文件夾,然後在其中創建新的main.xml文件。我從我開發並定期使用的現有項目模板中獲取代碼,因此很容易找到,我只是添加了退出部分。 –

+0

我想我看到這是如何工作,但我得到了很多錯誤。 – RubyOnSteve

相關問題