返回列表 发帖

[疯狂Android] 赐教 疯狂android 讲义里面启用程序图标导航

疯狂android讲义中启用图标导航里面的代码
  1. package org.crazyit.ui;

  2. import android.app.ActionBar;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Color;
  6. import android.os.Bundle;
  7. import android.view.Menu;
  8. import android.view.MenuInflater;
  9. import android.view.MenuItem;
  10. import android.widget.TextView;
  11. import android.widget.Toast;


  12. public class MainActivity extends Activity
  13. {
  14.         private TextView txt;
  15.         ActionBar actionBar;
  16.         @Override
  17.         public void onCreate(Bundle savedInstanceState)
  18.         {
  19.                 super.onCreate(savedInstanceState);
  20.                 setContentView(R.layout.main);
  21.                 txt = (TextView) findViewById(R.id.txt);
  22.                 actionBar = getActionBar();
  23.                 // 设置是否显示应用程序图标
  24.                 actionBar.setDisplayShowHomeEnabled(true);
  25.                 // 将应用程序图标设置为可点击的按钮
  26. //                actionBar.setHomeButtonEnabled(true);
  27.                 // 将应用程序图标设置为可点击的按钮,并在图标上添加向左箭头
  28.                 actionBar.setDisplayHomeAsUpEnabled(true);
  29.         }
  30.         @Override
  31.         public boolean onCreateOptionsMenu(Menu menu)
  32.         {
  33.                 MenuInflater inflator = new MenuInflater(this);
  34.                 // 状态R.menu.menu_main对应的菜单,并添加到menu中
  35.                 inflator.inflate(R.menu.menu_main, menu);
  36.                 return super.onCreateOptionsMenu(menu);
  37.         }
  38.         @Override
  39.         // 选项菜单的菜单项被单击后的回调方法
  40.         public boolean onOptionsItemSelected(MenuItem mi)
  41.         {
  42.                 if(mi.isCheckable())
  43.                 {
  44.                         mi.setChecked(true);
  45.                 }
  46.                 // 判断单击的是哪个菜单项,并有针对性地作出响应
  47.                 switch (mi.getItemId())
  48.                 {
  49.                         case android.R.id.home:
  50.                                 // 创建启动FirstActivity的Intent
  51.                                 Intent intent = new Intent(this, FirstActivity.class);
  52.                                 // 添加额外的Flag,将Activity栈中处于FirstActivity之上的Activity弹出
  53.                                 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  54.                                 // 启动intent对应的Activity
  55.                                 startActivity(intent);
  56.                                 break;
  57.                         case R.id.font_10:
  58.                                 txt.setTextSize(10 * 2);
  59.                                 break;
  60.                         case R.id.font_12:
  61.                                 txt.setTextSize(12 * 2);
  62.                                 break;
  63.                         case R.id.font_14:
  64.                                 txt.setTextSize(14 * 2);
  65.                                 break;
  66.                         case R.id.font_16:
  67.                                 txt.setTextSize(16 * 2);
  68.                                 break;
  69.                         case R.id.font_18:
  70.                                 txt.setTextSize(18 * 2);
  71.                                 break;
  72.                         case R.id.red_font:
  73.                                 txt.setTextColor(Color.RED);
  74.                                 mi.setChecked(true);
  75.                                 break;
  76.                         case R.id.green_font:
  77.                                 txt.setTextColor(Color.GREEN);
  78.                                 mi.setChecked(true);
  79.                                 break;
  80.                         case R.id.blue_font:
  81.                                 txt.setTextColor(Color.BLUE);
  82.                                 mi.setChecked(true);
  83.                                 break;
  84.                         case R.id.plain_item:
  85.                                 Toast toast = Toast.makeText(MainActivity.this, "您单击了普通菜单项",
  86.                                                 Toast.LENGTH_SHORT);
  87.                                 toast.show();
  88.                                 break;
  89.                 }
  90.                 return true;
  91.         }
  92. }
复制代码

我在模拟器上测试  
actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setHomeButtonEnabled(true);通过这种方式启用后发现Icon图标不能点击  通过设置下面这个方式  左边箭头可以点击 但是图标还是不能点击  不知道为什么actionBar.setDisplayShowTitleEnabled(false)请高手回答下  给你发红包 金币不足请见谅

返回列表