Android平常用到的小工具

 

 

问题
解决方案:
EditText 设置背景为空

Android:backGround = "@null"
全屏显示

注:要在setContentView()前使用
requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏标题     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置全屏
开启程序横屏显示

方法一:在Androidmanifest里设置如下:
android:screenOrientation="landscape"
方法二:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
\\fileserver\Share\Public
setTheme(android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
实现图片平铺效果  
                                                                                     <?xml version ="1.0" encoding ="utf-8" ?>

<bitmap xmlns:android ="http://schemas.android.com/apk/res/android"

   android:src=\'#\'" /pattern"

   android:tileMode ="repeat" />
将键盘上的回车键改为搜索键
 android:imeOptions="actionSearch" 
ListView 设置字体颜色
android:cacheColorHint="#00FF0000"  设置阴影色
Sharepreferences
存储类型 (boolean、int、float、long和String) 键值对方式
listView .setCacheColorHint(0);
GridView 设置点击效果透明
                                                                 personal_gridview.setSelector(R.drawable.transparent);
背景色平铺 
                                                                                          <?xml version ="1.0" encoding ="utf-8" ?>

<bitmap
xmlns:android ="http://schemas.android.com/apk/res/android"

   android:src=\'#\'" /more_bg"

   android:tileMode ="repeat" />
分享微博 系统自带
 Intent intent=new Intent(Intent.ACTION_SEND); 
    intent.setType("text/plain"); //
分享的数据类型
    intent.putExtra(Intent.EXTRA_SUBJECT, "打电话"); //主题
    intent.putExtra(Intent.EXTRA_TEXT, "android拨打电话"); // 内容
    startActivity(Intent.createChooser(intent, "拨打电话")); //目标应 用选择对话框的标题
在mainFinest里面设置activity风格
android:theme="@android:style/Theme.Dialog"
android popupwindow
设置按钮与图片位置
android:drawableLeft="@drawable/friend_dot"
使程序高清
<supports-screens android:largeScreens="true"
 android:normalScreens="true" android:smallScreens="true"
 android:anyDensity="true" />
获取相册uri并转为 绝对路径
Uri uri = data.getData();
       ContentResolver cr = this.getContentResolver();
       Cursor cursor = cr.query(uri, null, null, null, null);
       cursor.moveToFirst();
       for (int i = 0; i < cursor.getColumnCount(); i++) {
        Log.i("URI", i + "-----------------" + cursor.getString(i));
       }
       String ImagePath = cursor.getString(cursor.getColumnIndex("_data"));
关于相册
String status=Environment.getExternalStorageState();
status.equals(Environment.MEDIA_MOUNTED)//
判断是否有sd卡

Intent i =
new Intent("android.media.action.IMAGE_CAPTURE");//调用系统照相功能
startActivityForResult(i, TAKEPHOTO);

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //从相册中取
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
instance.startActivityForResult(Intent.createChooser(
       intent, "选择图片"), TAKEPICTURE);
UUID+ 设备号序列号 唯一识别码(不可变)
private String getMyUUID(){
 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);   
 final String tmDevice, tmSerial, tmPhone, androidId;   
 tmDevice = "" + tm.getDeviceId();  
 tmSerial = "" + tm.getSimSerialNumber();   
 androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(),android.provider.Settings.Secure.ANDROID_ID);   
 UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());   
 String uniqueId = deviceUuid.toString();
 Log.d("debug","uuid="+uniqueId);
 return uniqueId;
 }
java 获取可变UUID
 private String getMyUUID(){
 UUID uuid = UUID.randomUUID();
     String uniqueId = uuid.toString();
   Log.d("debug","----->UUID"+uuid);
    return uniqueId;
   }
获取sim卡信息
getLine1Number() :获取到手机号码; getDeviceSoftwareVersion:获取到Android操作系统的版本; getSimSerialNumber:获取到SIM卡唯一编号ID; getSubscriberId:获取到客户ID,即IMSI;
获取Gmail方法
 private String getGmail() {
 String userName = null;
 Cursor userCursor = getContentResolver().query(Uri.parse(URL), null,
    null, null, null);
 if (userCursor.getCount() > 0) {
   userCursor.moveToFirst();
   userName = userCursor.getString(userCursor.getColumnIndex("name"));
   Log.i("QQ", userName);
 }
 if (userName.equals("mycalendar")) {
   userName = "";
 }
 return userName;
 }
Spinner 设置默认选项
spinner1.setSelection(1);
在activity清单中
android:windowSoftInputMode="adjustPan" 是配置界面不被键盘挤上去的     android:windowSoftInputMode="stateAlwaysHidden"   不弹出键盘  
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
将editText 输入完后键盘确定键变为搜索
 search_edit.setOnEditorActionListener(new OnEditorActionListener() {//

   @Override
   public boolean onEditorAction(TextView v, int actionId,
     KeyEvent event) {
    Toast.makeText(instance,"
搜索",Toast.LENGTH_SHORT).show();
    InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    mInputMethodManager.hideSoftInputFromWindow(v.getWindowToken(),
      0);
    return false;
   }
 });                  android:imeOptions="actionSearch"
RelativeLayout 属性


    熟练掌握以下重要属性,并灵活运用:

    android:layout_centerInParent   居中布局
    android:layout_centerVertical    水平居中布局
    android:layout_centerHorizontal  垂直居中布局
 

    android:layout_alignParentTop    居于容器内顶部
    android:layout_alignParentBottom  居于容器内底部
    android:layout_alignParentLeft    居于容器内左边
    android:layout_alignParentRight    居于容器内右边

    android:layout_above       居于指定View的上方
    android:layout_below       居于指定View的下方

    android:layout_toRightOf      在指定View的右边
    android:layout_toLeftOf       在指定View的左边

    android:layout_alignTop      与指定View的Top一致
Intent 传递参数
第一个activity                                                                       Intent intent = new Intent();                                   intent.putExtra("key","value");                                 intent.setClass(a.this,b.class);                                          startActivity(intent);                                                                第二个Activity                                                                         Intent intent = getIntent();                                          intent.getStringExtra("key");
古宁给的,判断系统是否有发邮件的包
public boolean checkApkExist(Context context, String packageName) {
 if (packageName == null || "".equals(packageName))
   return false;
 try {
   ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName,
     PackageManager.GET_UNINSTALLED_PACKAGES);
  
   if (info != null) {
    return true;
   }
   return false;
 } catch (NameNotFoundException e) {
   return false;
 }
 }
防止EditText自动获得焦点
方法一:android:focusableInTouchMode="true"方法二:                                                                                 或者在oncreate中加入下列代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);//防止editText自动获得家电
获取屏幕宽度和高度
// 取得窗口属性
 getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
//获得当前屏幕的高
screen_height = displayMetrics.heightPixels;
//获得当前屏幕的宽
screen_width = displayMetrics.widthPixels;
intent 传递bitmap
Intent intent = getIntent();
        Bitmap myBitmap = (Bitmap) intent.getParcelableExtra("tupian");
        imageView.setImageBitmap(myBitmap);                                             Intent
的使用,在intent中有一种方法getSerializableExtra()用来接收一系列的数据,比如ArrayList里的数据
NumberFormatException 数字格式遗产
闹铃管理器
AlarmManager
更新listView
notifyDataSetChanged                                                       notifyDataSetChanged() 可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新ListView
判断是否有sd卡
 if(status.equals(Environment.MEDIA_MOUNTED)){  
        Toast.makeText(instance, "
有SD卡", Toast.LENGTH_SHORT).show();  
       }  
   else{  
         Toast.makeText(instance, "
没有SD卡", Toast.LENGTH_SHORT).show();  
       }  
将图片写到sd卡的根目录下
String sdcard = android.os.Environment
       .getExternalStorageDirectory().toString();
     FileOutputStream fos = new FileOutputStream(sdcard
       + "/item" + gallery.getSelectedItemPosition() + ".jpg");
     ((BitmapDrawable) getResources().getDrawable(
       imageResIdList.get(gallery
         .getSelectedItemPosition()))).getBitmap()
       .compress(CompressFormat.JPEG, 50, fos);
     fos.close();
获得SD卡路径
  
String sdDir = Environment.getExternalStorageDirectory().toString();//
获取跟目录
   
用ViewFlipper 设置进入进出动画
 ageFlipper.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.push_up_in));
        ageFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.push_up_out));
调用系统工具播放录音
// 调用系统工具播放录音
 private void startReco(){
 
 Intent intent = new Intent(Intent.ACTION_VIEW);
 intent.setDataAndType(Uri.fromFile(new File(recPath)), "audio/mp3");
 startActivity(intent);
// Intent i = new Intent();
// i.setClass(PartMultimediaActivity.this, PlayVideo.class);
// i.putExtra("videoPath", videoPath);
// startActivityForResult(i, 111);
 }
取得listView里EditText的值
(EditText)context.listView.getChildAt(0).findViewById(R.id.a).getText().toString();
从sd卡中取得的图片的路径
Uri dataUri = data.getData();
    ContentResolver cr = this.getContentResolver();
          Cursor cursor = cr.query(dataUri, null, null, null, null);
          cursor.moveToFirst();
    userImagePath = cursor.getString(1);
    Log.d("debug", "
从相册中获得的图片路径"+userImagePath);
从相册,内存卡等取得图片的方法
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 intent.addCategory(Intent.CATEGORY_OPENABLE);
 intent.setType("image/*");
 AlertActivity.this.startActivityForResult(Intent.createChooser(
    intent, "
选择图片"), TAKEPICTURE);
将图片变成圆角
BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 4;
    userBitmap = BitmapFactory.decodeFile(userImagePath, options);
将图片设置成圆角
 /**
 *
图片圆角
 *
 * @param bitmap
 * @return
 */
 public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
 Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
    bitmap.getHeight(), Config.ARGB_8888);
 Canvas canvas = new Canvas(output);

 final int color = 0xff424242;
 final Paint paint = new Paint();
 final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
 final RectF rectF = new RectF(rect);
 final float roundPx = 12;

 paint.setAntiAlias(true);
 canvas.drawARGB(0, 0, 0, 0);
 paint.setColor(color);
 canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

 paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
 canvas.drawBitmap(bitmap, rect, rect, paint);
 return output;
 }
设置listView 的headView 不可点击
listView.addHeaderView(headView,null,false)
设置editText 不弹出软键盘
editView.setInputType(InputType.TYPE_NULL)
文字超出长度则截断
 int MAX_LENGTH = 140;     if(status.getStatus()!= null && status.getStatus().length() > StatusSetRequestParam.MAX_LENGTH) {
   status = status.trim();
 }

 

本文出自 “冰冰水晶” 博客,谢绝转载!

你可能感兴趣的:(Android工具)