-
重寫onOptionsItemSelected() public boolean onOptionsItemSelected(MenuItem item) { // 參數(shù)item是被點擊的菜單項 switch (item.getItemId()){ case R.id.action_menu_item1: Toast.makeText(this, "點擊了菜單一", Toast.LENGTH_SHORT).show(); break; case R.id.action_menu_item2: Toast.makeText(this, "點擊了菜單二", Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); }查看全部
-
Android的菜單一共有三種: OptionsMenu 選擇菜單 ContextMenu 上下文菜單 SubMenu 子菜單 創(chuàng)建選項菜單: 在 Activity 里面重寫 onCreateOptionMenu(),在里面設(shè)置菜單項。設(shè)置菜單項可以用代碼動態(tài)地添加:menuadd(); 還可以通過 xml(在里面配置菜單項) 來配置,然后通過MenuInflater.inflate()設(shè)置。 然后設(shè)置菜單的點擊事件,重寫 onOptionsItemSelected()。 如圖,是menu文件夾下的main.xml的代碼。 -------------- 重寫onCreateOptionMenu(): public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } -------------- 摘自評論區(qū) 從Android3.0開始,Android并不要求手機(jī)設(shè)備上必須提供Menu菜單。與桌面菜單不同,Android菜單默認(rèn)是看不到的,這樣情況下,Android推薦使用ActionBar來代替菜單。查看全部
-
使用 NotificationManager 顯示或取消通知 1. 設(shè)置全局變量 NotificationManager manager; // 通知管理類 int notification_ID; // 通知的ID號 2. 在 onCreate()方法中初始化 manager: manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 注意:NotificationManager的初始化:因為NotificationManager是系統(tǒng)服務(wù),所以需要通過getSystemService()來獲取實例。 3. 調(diào)用方法(分別在不同的點擊事件中調(diào)用) manager.notify(notification_ID,notification); //顯示通知,其中notification是我們上節(jié)課構(gòu)造好的通知。 manager.cancel(notification_ID); // 取消通知 ------------- 摘自評論區(qū): 找到方法了調(diào)用代碼 builder.setAutoCancel(true);//通知消息會在被點擊后自動消失 OK了查看全部
-
通知欄的實現(xiàn) 需要在配置文件中添加權(quán)限: <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.VIBRATE" /> ------------ Intent intent = new Intent(this,ThirdActivity.class); Notification.Builder builder = new Notification.Builder(this); builder.setSmallIcon(R.mipmap.ic_launcher); // 設(shè)置圖標(biāo) builder.setTicker("Hello!"); // 設(shè)置手機(jī)狀態(tài)欄的一行文字提示 builder.setWhen(System.currentTimeMillis()); // 設(shè)置時間 builder.setContentTitle("通知欄通知"); builder.setContentText("我來自Notification的小練習(xí)"); // 點擊通知之后想要跳轉(zhuǎn)到某個頁面,需要 PendingIntent 和 Intent(意圖)來實現(xiàn) PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0); // 請求碼和flag都設(shè)置為0 builder.setContentIntent(pendingIntent); // 點擊后的意圖 builder.setDefaults(Notification.DEFAULT_ALL); //設(shè)置所有的提示效果,包括聲音、振動、指示燈 Notification notification = builder.build(); // 4.1以上版本(包括4.1) // Notification notification1 = builder.getNotification(); // 4.1以下版本查看全部
-
如何實現(xiàn)通知欄? 需要用到兩個類:NotificationManager通知管理類 和 Notification通知類。前者的作用主要是顯示或者取消通知。 Notification類 可以設(shè)置來消息的時候的提示音、指示燈、振動的效果,設(shè)置顯示的內(nèi)容,點擊之后的響應(yīng)等等。查看全部
-
Notification 通知欄通知 Notification 是顯示在手機(jī)狀態(tài)欄的消息(手機(jī)狀態(tài)欄位于手機(jī)屏幕的最頂端),代表一種全局效果的通知。 它包含哪些東西呢? 首先,在手機(jī)狀態(tài)欄的時候,會有一個圖標(biāo)。另外,如果是剛剛發(fā)過來的消息,還會有一行文字提示。拖拽開手機(jī)狀態(tài)欄,會有一個通知(如圖),通知里面也有個圖標(biāo),還有標(biāo)題和內(nèi)容以及時間。 點擊后的響應(yīng)包括:進(jìn)入某一個程序,或者彈出某個界面等等。查看全部
-
自定義對話框 自定義的對話框的布局為 R.layout.dialog_layout。 設(shè)置一個按鈕觸發(fā)該點擊事件(設(shè)置屬性 android:onClick="doClick7") 在 Activity 中編寫如下代碼: public void doClick7(View v){ LayoutInflater inflater = LayoutInflater.from(this); View dialog_view = inflater.inflate(R.layout.dialog_layout,null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(dialog_view); AlertDialog dialog = builder.create(); dialog.show(); } ----------- 摘自評論區(qū): 自定義的Dialog的View 里面的控件同樣可以用findViewById 的方式。就是View.findViewById(R.id.xxx);查看全部
-
列表對話框 (已在對應(yīng) Button 上添加了屬性 android:onClick="doClick6") String[] item_list = new String[]{"項目經(jīng)理","策劃","測試","美工","程序猿"}; public void doClick6(View v){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("部門列表"); builder.setIcon(R.mipmap.ic_launcher); builder.setItems(item_list, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(SecondActivity.this, "我動了"+item_list[which], Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create(); dialog.show(); }查看全部
-
單選對話框 (事先在對應(yīng)的 Button 中設(shè)置了屬性 android:onClick="doClick4") 在 MianActivity 中部分代碼: String[] single_list = new String[]{"男","女","女博士","程序員"}; public void doClick4(View v){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("選擇性別"); builder.setIcon(R.mipmap.ic_launcher); // 設(shè)置圖標(biāo) builder.setSingleChoiceItems(single_list, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 參數(shù)which表示被選中的項目 Toast.makeText(SecondActivity.this, "您選擇的是"+single_list[which], Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create(); // 通過builder獲取一個對話框 dialog.show(); // 顯示對話框 }查看全部
-
多選對話框的實現(xiàn)( 已在對應(yīng)的 Button 中設(shè)置屬性 android:onClick="doClick5") String[] multi_list = new String[]{"籃球","足球","男生","女生"}; public void doClick5(View v){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("你喜歡什么呢?"); builder.setIcon(R.mipmap.ic_launcher); builder.setMultiChoiceItems(multi_list, null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if (isChecked){ Toast.makeText(SecondActivity.this, "你喜歡"+multi_list[which], Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(SecondActivity.this,"你不喜歡"+multi_list[which],Toast.LENGTH_LONG).show(); } } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); // 退出對話框 } }); AlertDialog dialog = builder.create(); dialog.show(); }查看全部
-
對話框的實現(xiàn)(創(chuàng)建Builder對象,通過該對象獲取一個對話框): AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("確認(rèn)對話框"); builder.setIcon(R.mipmap.ic_launcher); // 設(shè)置圖標(biāo) builder.setMessage("確認(rèn)對話框提示內(nèi)容"); builder.setPositiveButton("確認(rèn)", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(SecondActivity.this, "點擊了確認(rèn)按鈕!", Toast.LENGTH_SHORT).show();} }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(SecondActivity.this, "點擊了取消按鈕", Toast.LENGTH_SHORT).show();} }); AlertDialog dialog = builder.create(); // 通過builder獲取一個對話框 dialog.show(); // 顯示對話框查看全部
-
SubMenu子菜單查看全部
-
AlertDialog常用的方法查看全部
-
什么是 Dialog 對話框是在當(dāng)前界面彈出的一個小窗口,用于顯示重要的提示信息,例如提示用戶輸入信息、確認(rèn)信息、或者顯示某種狀態(tài),如下載進(jìn)度,退出提示等等。一般情況下,用戶要與對話框進(jìn)行交互,然后返回到被遮蓋的界面以繼續(xù)運(yùn)行當(dāng)前的應(yīng)用程序。 如圖,是幾種常見的對話框: 確認(rèn)對話框,單選按鈕對話框,多選按鈕對話框,列表對話框。查看全部
-
如圖,是自定義Toast的代碼。注意這里是setView(),而不是addView()。 另外在 R.layout.toast_layout 里面是我們自定義的 Toast 布局。本例中是一個ImageView,在其上下各有一個TextView。查看全部
舉報
0/150
提交
取消