選択 モバイル版に入る | PC版を継続
Android開発に助かるApkSchool版主募集中DISCUZ!X3.1 Japanese Version提供
表示: 1430|返信: 0

Android UI設計 Menu

[リンクをコピー]
发表于 2013-6-11 20:54:07 | 显示全部楼层 |阅读模式
webhostingpad
本帖最后由 niuxs 于 2013-6-11 20:58 编辑

メニュー効果図

main.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >

  6. <EditText
  7. android:id="@+id/editText"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:hint="入力してください"/>

  11. </LinearLayout>
コードコピー
MenuSampleActivity.java
  1. package net.apkschool.edu;

  2. import android.app.Activity;
  3. import android.graphics.Color;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.MenuItem;
  7. import android.view.SubMenu;
  8. import android.widget.EditText;
  9. import android.widget.Toast;

  10. public class MenuSampleActivity extends Activity {

  11. // フォントサイズ定数定義
  12. final int FONT_2 = 0x112;
  13. final int FONT_4 = 0x113;
  14. final int FONT_10 = 0x114;
  15. final int FONT_12 = 0x115;
  16. final int FONT_16 = 0x116;
  17. // ノーマルメニュ定義
  18. final int NORMAL = 0x111b;
  19. // フォント色定義
  20. final int FONT_RED = 0x123;
  21. final int FONT_GREEN = 0x124;
  22. final int FONT_YELLOW = 0x125;
  23. EditText edit;

  24. /** Called when the activity is first created. */
  25. @Override
  26. public void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.main);
  29. edit = (EditText) findViewById(R.id.editText);
  30. }

  31. @Override
  32. public boolean onCreateOptionsMenu(Menu menu) {
  33. // フォントサイズのメニューを追加
  34. SubMenu sub = menu.addSubMenu("フォントサイズ");
  35. sub.setIcon(R.drawable.q1);
  36. sub.setHeaderIcon(R.drawable.q1);
  37. sub.setHeaderTitle("フォントサイズを選択ください");
  38. sub.add(0, FONT_2, 0, "2号サイズ");
  39. sub.add(0, FONT_4, 1, "4号サイズ");
  40. sub.add(0, FONT_10, 2, "10号サイズ");
  41. sub.add(0, FONT_16, 3, "16号サイズ");
  42. sub.add(0, FONT_12, 4, "12号サイズ");

  43. // メニューを追加
  44. menu.add(0, NORMAL, 0, "ノーマルメニュー");

  45. // フォント色のメニューを追加
  46. SubMenu sub2 = menu.addSubMenu("フォント色");
  47. sub2.setIcon(R.drawable.q2);
  48. sub2.setHeaderIcon(R.drawable.q2);
  49. sub2.setHeaderTitle("フォント色を選択ください");
  50. sub2.add(0, FONT_GREEN, 0, "緑色");
  51. sub2.add(0, FONT_RED, 1, "赤色");
  52. sub2.add(0, FONT_YELLOW, 2, "黄色");
  53. return true;
  54. }

  55. @Override
  56. public boolean onOptionsItemSelected(MenuItem item) {
  57. switch (item.getItemId()) {
  58. case FONT_2:
  59. edit.setTextSize(2 * 2);
  60. break;
  61. case FONT_4:
  62. edit.setTextSize(4 * 2);
  63. break;
  64. case FONT_10:
  65. edit.setTextSize(10 * 2);
  66. break;
  67. case FONT_12:
  68. edit.setTextSize(12 * 2);
  69. break;
  70. case FONT_16:
  71. edit.setTextSize(16 * 2);
  72. break;
  73. case NORMAL:
  74. Toast.makeText(MenuSampleActivity.this, "ノーマルメニューは選択された",
  75. Toast.LENGTH_SHORT).show();
  76. break;
  77. case FONT_GREEN:
  78. edit.setTextColor(Color.GREEN);
  79. break;
  80. case FONT_RED:
  81. edit.setTextColor(Color.RED);
  82. break;
  83. case FONT_YELLOW:
  84. edit.setTextColor(Color.YELLOW);
  85. break;
  86. }
  87. return true;
  88. }

  89. }
コードコピー



この記事に更なる添付があります

貴方は ログイン 後、ダウンロード・閲覧が可能となる,アカウントない?直ぐ登録

x
返信

道具使用 レポート

返信は先にログインが必要 ログイン | 直ぐ登録

フォーラム点数規則

フリーランス

モバイル版|APK School Net  

GMT+8, 2017-12-12 06:41 , Processed in 0.172968 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速返信 トップへ リストへ