建立上下文選單
fragment_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.xwy.cai.MainActivity$PlaceholderFragment"
android:orientation="vertical"
>
<TextView
android:id="@+id/show"
android:textSize="28px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="開啟選單" />
</LinearLayout>
contentmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/color1" android:title="紅色"></item>
<item android:id="@+id/color2" android:title="綠色"></item>
<item android:id="@+id/color3" android:title="藍色"></item>
<item android:id="@+id/color4" android:title="橙色"></item>
<item android:id="@+id/color5" android:title="恢復預設"></item>
</menu>
MainActivity.java
package com.xwy.cai;
import android.support.v4.app.Fragment;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
tv=(TextView)findViewById(R.id.show);
registerForContextMenu(tv); //為文字框註冊上下文選單
}
//建立上下文選單
/************************************************************/
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
MenuInflater inflator=new MenuInflater(this); //例項化一個MenuInflater物件
inflator.inflate(R.menu.contentmenu, menu); //解析選單檔案
menu.setHeaderIcon(R.drawable.ic_launcher); //為選單頭設定圖示
menu.setHeaderTitle("請選擇文字顏色:"); //為選單頭設定標題
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.color1: //當選擇紅顏色時
tv.setTextColor(Color.rgb(255, 0, 0));
break;
case R.id.color2: //當選擇綠顏色時
tv.setTextColor(Color.rgb(0, 255, 0));
break;
case R.id.color3: //當選擇藍顏色時
tv.setTextColor(Color.rgb(0, 0, 255));
break;
case R.id.color4: //當選擇橙色時
tv.setTextColor(Color.rgb(255, 180, 0));
break;
default:
tv.setTextColor(Color.rgb(255, 255, 255));
}
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
相關文章
- 用XML資料島建立上下文選單 (轉)XML
- Android開發之Menu:OptionMenu(選項選單)、ContextMenu(上下文選單)、SubMenu(子選單)AndroidContext
- 動態建立選單
- android(一) 選單建立Android
- Android 選單(OptionMenu)大全 建立你自己的選單Android
- 建立點陣圖選單 (轉)
- 用HTML建立連動下拉選單HTML
- Sentinel上下文建立及執行
- JavaScript動態建立select下拉選單JavaScript
- 如何快速在odoo中建立自己的選單Odoo
- No MFC,Only API——選單的建立和使用 (轉)API
- 使用 Java 在Excel中建立下拉選單JavaExcel
- 微軟為win10 RS5上下文選單加入毛玻璃模糊特效微軟Win10特效
- [譯] 如何建立 BubblePicker – Android 多彩選單動畫Android動畫
- WordPress外掛入口選單建立的位置程式碼
- 建立程式選單和快捷方式的程式碼
- Android studio(建立、監聽器intent選單)AndroidIntent
- CoreData 手動自動 建立context(上下文)Context
- (基礎)特殊的上下文選擇符
- 使用點陣圖選單項——建立點陣圖 (轉)
- .NET混合開發解決方案13 自定義WebView2中的上下文選單WebView
- 建立支援類別下拉選單的Oracle查詢表DMOracle
- 新浪微部落格戶端(6)-建立首頁下拉選單
- 第四章問題:建立選單時出錯
- 怎麼在linux下建立帶選單的DVD(轉)Linux
- 用C#與XML建立動態分層選單(轉)XML
- db.create_all() 報錯上下文?flask_sqlalchemy建立資料庫找不到上下文?FlaskSQL資料庫
- 上下文繪圖,濾鏡簡單使用繪圖
- EF建立上下文物件HttpContext和CallContext物件HTTPContext
- python專案實戰:win32ui建立普通選單PythonWin32UI
- Python 簡單理解 with 上下文管理器Python
- rails中使用form.select建立動態的下拉選單薦AIORM
- 利用Delphi訊息處理建立類似Windows開始選單 (轉)Windows
- 超越單詞計數:上下文位置編碼CoPE
- 建立型-單例單例
- 程序上下文、中斷上下文及原子上下文
- 如何建立動態選單在ASP。 淨核心剃刀頁面與Web ApiWebAPI
- 單選多選按鈕