EX07_01.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.EX07_01;
  2. import android.app.Activity; 
  3. import android.graphics.Bitmap;
  4. import android.graphics.BitmapFactory;
  5. import android.os.Bundle; 
  6. import android.view.ContextMenu; 
  7. import android.view.Menu; 
  8. import android.view.MenuItem; 
  9. import android.view.View; 
  10. import android.view.ContextMenu.ContextMenuInfo; 
  11. import android.widget.ImageView;
  12. import android.widget.ListView; 
  13. import android.widget.TextView; 
  14. public class EX07_01 extends Activity 
  15.   /*声明一个 TextVie变量与一个ImageView变量*/
  16.   private TextView mTextView01; 
  17.   private ImageView mImageView01;
  18.   /*声明Context Menu的选项常数*/
  19.   protected static final int CONTEXT_ITEM1 = Menu.FIRST;  
  20.   protected static final int CONTEXT_ITEM2 = Menu.FIRST+1;
  21.   protected static final int CONTEXT_ITEM3 = Menu.FIRST+2;
  22.    
  23.   /** Called when the activity is first created. */ 
  24.   @Override 
  25.   public void onCreate(Bundle savedInstanceState) 
  26.   { 
  27.     super.onCreate(savedInstanceState); 
  28.     setContentView(R.layout.main); 
  29.      
  30.     /*通过findViewById构造器创建TextView与ImageView对象*/
  31.     mTextView01 = (TextView)findViewById(R.id.myTextView1); 
  32.     mImageView01= (ImageView)findViewById(R.id.myImageView1);
  33.     /*将Drawable中的图片baby.png放入自定义的ImageView中*/
  34.     mImageView01.setImageDrawable(getResources().
  35.                  getDrawable(R.drawable.baby));
  36.     
  37.     /*设置OnCreateContextMenuListener给TextView
  38.      * 让图片上可以使用ContextMenu*/
  39.     mImageView01.setOnCreateContextMenuListener 
  40.     (new ListView.OnCreateContextMenuListener() 
  41.     {  
  42.       @Override 
  43.       /*覆盖OnCreateContextMenu来创建ContextMenu的选项*/
  44.       public void onCreateContextMenu 
  45.       (ContextMenu menu, View v, ContextMenuInfo menuInfo) 
  46.       { 
  47.         // TODO Auto-generated method stub 
  48.         menu.add(Menu.NONE, CONTEXT_ITEM1, 0, R.string.str_context1); 
  49.         menu.add(Menu.NONE, CONTEXT_ITEM2, 0, R.string.str_context2); 
  50.         menu.add(Menu.NONE, CONTEXT_ITEM3, 0, R.string.str_context3);
  51.       }  
  52.     }); 
  53.   } 
  54.   @Override 
  55.   /*覆盖OnContextItemSelected来定义用户点击menu后的动作*/
  56.   public boolean onContextItemSelected(MenuItem item) 
  57.   { 
  58.     // TODO Auto-generated method stub 
  59.     /*自定义Bitmap对象并通过BitmapFactory.decodeResource取得
  60.      *预先Import至Drawable的baby.png图档*/
  61.     Bitmap myBmp = BitmapFactory.decodeResource 
  62.       (getResources(), R.drawable.baby); 
  63.      /*通过Bitmap对象的getHight与getWidth来取得图片宽高*/
  64.      int intHeight = myBmp.getHeight();
  65.      int intWidth = myBmp.getWidth();
  66.     
  67.     try
  68.     {
  69.       /*菜单选项与动作*/
  70.       switch(item.getItemId()) 
  71.       { 
  72.         /*将图片宽度显示在TextView中*/
  73.         case CONTEXT_ITEM1:
  74.           String strOpt =
  75.           getResources().getString(R.string.str_width)
  76.           +"="+Integer.toString(intWidth);
  77.           mTextView01.setText(strOpt);
  78.           break;
  79.         /*将图片高度显示在TextView中*/
  80.         case CONTEXT_ITEM2:
  81.           String strOpt2 =
  82.           getResources().getString(R.string.str_height)
  83.           +"="+Integer.toString(intHeight); 
  84.           mTextView01.setText(strOpt2); 
  85.           break;
  86.         /*将图片宽高显示在TextView中*/
  87.         case CONTEXT_ITEM3:
  88.           String strOpt3 =
  89.           getResources().getString(R.string.str_width)
  90.           +"="+Integer.toString(intWidth)+"n" 
  91.           +getResources().getString(R.string.str_height) 
  92.           +"="+Integer.toString(intHeight);  
  93.           mTextView01.setText(strOpt3);  
  94.           break;  
  95.       }
  96.     }
  97.     catch(Exception e)
  98.     {
  99.       e.printStackTrace();
  100.     }
  101.     return super.onContextItemSelected(item);
  102.   }
  103. }