Android界面编程--使用活动条(ActionBar)--通过ActionBar菜单改变TextView的字体和颜色...
生活随笔
收集整理的這篇文章主要介紹了
Android界面编程--使用活动条(ActionBar)--通过ActionBar菜单改变TextView的字体和颜色...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android:orientation="vertical"(AndroidStudio不提示,這個要記住了)
昨天好不容易把ActionBar從溢出菜單overflow中弄出來了,,,,,現在為菜單注冊事件
參考代碼:https://www.aliyun.com/jiaocheng/71385.html
參考別人代碼,這段算是寫了,遇到了不少麻煩
2.啟用程序圖標導航
actionBar.setDisplayHomeAsUpEnabled(true);---顯示向左的箭頭
actionBar.setDisplayShowHomeEnabled(false);--設置
actionBar.setHomeButtonEnabled(true);--設置應用程序圖標變成可點擊的按鈕
通過android.R.id.home能識別這個箭頭按鈕
下面是全部的代碼:后臺代碼? 布局簡單 資源文件 菜單
1 <?xml version="1.0" encoding="utf-8"?> 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 > 5 <!--<item android:title="first"--> 6 <!--android:icon="@mipmap/ic_launcher_round"--> 7 <!--app:showAsAction="ifRoom"--> 8 <!--android:id="@+id/action_test">--> 9 <!--<menu>--> 10 <!--<group android:checkableBehavior="single">--> 11 <!--<item android:id="@+id/d"--> 12 <!--android:title="@string/test1"></item>--> 13 <!--<item android:id="@+id/f"--> 14 <!--android:title="@string/test1"></item>--> 15 <!--</group>--> 16 <!--</menu>--> 17 <!--</item>--> 18 <!--<item app:showAsAction="ifRoom|always"--> 19 <!--android:title="dfsdfsd">--> 20 21 22 <!--</item>--> 23 <item android:id="@+id/action1" android:title="@string/font_size" app:showAsAction="always|withText" android:icon="@mipmap/ic_launcher_round"> 24 <menu> <!-- 定義一組單選菜單項--> 25 <group android:checkableBehavior="single"> <!-- 定義多個菜單項--> 26 <item android:id="@+id/font_10" android:title="@string/font_10" /> 27 <item android:id="@+id/font_12" android:title="@string/font_12" /> 28 <item android:id="@+id/font_14" android:title="@string/font_14" /> 29 <item android:id="@+id/font_16" android:title="@string/font_16" /> 30 <item android:id="@+id/font_18" android:title="@string/font_18" /> 31 </group> 32 </menu> 33 </item> <!-- 定義一個普通菜單項--> 34 <item android:id="@+id/action2" app:showAsAction="never" android:title="@string/plain_item"> 35 </item> 36 37 <item android:id="@+id/action3" android:title="@string/font_color" app:showAsAction="never" android:icon="@mipmap/ic_launcher_round"> 38 <menu> <!-- 定義一個允許復選的菜單項--> 39 <group> <!-- 定義三個菜單項--> 40 <item android:id="@+id/red_font" android:title="@string/red_title" /> 41 <item android:id="@+id/blue_font" android:title="@string/blue_title" /> 42 <item android:id="@+id/green_font" android:title="@string/green_title" /> 43 </group> 44 </menu> 45 </item> 46 </menu>?
?
?
1 package com.example.administrator.actionbar; 2 3 import android.annotation.SuppressLint; 4 import android.content.pm.ActivityInfo; 5 import android.graphics.Color; 6 import android.support.v4.view.MenuItemCompat; 7 import android.support.v7.app.ActionBar; 8 import android.support.v7.app.AppCompatActivity; 9 import android.os.Bundle; 10 import android.util.Log; 11 import android.view.Menu; 12 import android.view.MenuInflater; 13 import android.view.MenuItem; 14 import android.view.View; 15 import android.widget.TextView; 16 import android.widget.Toast; 17 18 public class MainActivity extends AppCompatActivity { 19 20 ActionBar actionBar; 21 TextView textView; 22 @Override 23 protected void onCreate(Bundle savedInstanceState) { 24 super.onCreate(savedInstanceState); 25 //設置橫屏 26 //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 27 setContentView(R.layout.activity_main); 28 actionBar = getSupportActionBar(); 29 Log.v("z",getSupportActionBar()+""); 30 actionBar.setDisplayShowHomeEnabled(false); 31 actionBar.setHomeButtonEnabled(true); 32 actionBar.setDisplayHomeAsUpEnabled(true); 33 textView = (TextView)findViewById(R.id.tv_txt); 34 registerForContextMenu(textView); 35 36 37 } 38 39 /** * 加載菜單 * * @param menu * @return */ 40 @Override public boolean onCreateOptionsMenu(Menu menu) 41 { 42 MenuInflater inflater = new MenuInflater(this); //裝填R.menu.my_menu對應的菜單,并添加到menu中 43 inflater.inflate(R.menu.actionbar, menu); 44 //重要代碼,使菜單不在overflow中顯示 45 MenuItemCompat.setShowAsAction(menu.findItem(R.id.action1),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 46 MenuItemCompat.setShowAsAction(menu.findItem(R.id.action2),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 47 MenuItemCompat.setShowAsAction(menu.findItem(R.id.action3),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 48 return super.onCreateOptionsMenu(menu); 49 } 50 51 52 @Override 53 public boolean onOptionsItemSelected(MenuItem item) { 54 if(item.isCheckable()) 55 { 56 item.setChecked(true); 57 } 58 switch (item.getItemId()){ 59 case R.id.font_10: 60 textView.setTextSize(10*2); 61 case R.id.font_12: 62 textView.setTextSize(12 * 2); 63 item.setChecked(true); 64 break; 65 case R.id.font_14: 66 textView.setTextSize(14 * 2); 67 item.setChecked(true); 68 break; 69 case R.id.font_16: 70 textView.setTextSize(16 * 2); 71 item.setChecked(true); 72 break; 73 case R.id.font_18: 74 textView.setTextSize(18 * 2); 75 item.setChecked(true); 76 break; 77 case R.id.red_font: 78 textView.setTextColor(Color.RED); 79 item.setChecked(true); 80 break; 81 case R.id.blue_font: 82 textView.setTextColor(Color.BLUE); 83 item.setChecked(true); 84 break; 85 case R.id.action2: 86 Toast.makeText(this,"普通菜單",Toast.LENGTH_SHORT).show(); 87 break; 88 case android.R.id.home: 89 Toast.makeText(this,"jiantoubeidianjil",Toast.LENGTH_SHORT).show(); 90 break; 91 } 92 93 94 95 return super.onOptionsItemSelected(item); 96 } 97 /** * 上下文菜單中菜單項被單擊時觸發該方法 * * @param item * @return */ 98 @Override 99 public boolean onContextItemSelected(MenuItem item) 100 { //勾選該菜單項 101 item.setChecked(true); 102 switch (item.getItemId()) 103 { 104 case R.id.red: 105 item.setChecked(true); 106 textView.setBackgroundColor(Color.RED); 107 break; 108 case R.id.green: 109 item.setChecked(true); 110 textView.setBackgroundColor(Color.GREEN); 111 break; 112 case R.id.blue: 113 item.setChecked(true); 114 textView.setBackgroundColor(Color.BLUE); 115 break; 116 } 117 return true; 118 } 119 120 // @SuppressLint("NewApi") 121 // @Override 122 // protected void onStart() { 123 // 124 // super.onStart(); 125 // //獲取Actionbar 126 // 127 // actionBar.setDisplayHomeAsUpEnabled(true); 128 // } 129 // @SuppressLint("NewApi") 130 // @Override 131 // public boolean onCreateOptionsMenu(Menu menu) { 132 // //資源文件添加菜單 133 // new MenuInflater(this).inflate(R.menu.actionbar, menu); 134 // //代碼添加菜單 135 // MenuItem item=menu.add("分享(動態添加)"); 136 // item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | 137 // MenuItem.SHOW_AS_ACTION_WITH_TEXT); 138 // item.setIcon(android.R.drawable.ic_menu_share); 139 // 140 // 141 // 142 // return super.onCreateOptionsMenu(menu); 143 // } 144 public void hideActionBar(View view) 145 { 146 actionBar.hide(); 147 } 148 public void showActionBar(View view) 149 { 150 actionBar.show(); 151 } 152 }?
轉載于:https://www.cnblogs.com/xiaochenztx/p/8512512.html
總結
以上是生活随笔為你收集整理的Android界面编程--使用活动条(ActionBar)--通过ActionBar菜单改变TextView的字体和颜色...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 预告预抵押是什么意思
- 下一篇: centos图形界面的开启和关闭