小方法

1.获取内存和SD卡的~
  public static boolean externalMemoryAvailable() {
 return Environment.getExternalStorageState().equals("mounted");
   }
public static String getAvailableExternalMemorySize(Context context) {
 if (externalMemoryAvailable()) {
 StatFs statfs = new StatFs(Environment
 .getExternalStorageDirectory().getPath());
 long blocSize = statfs.getBlockSize();
 // long totalSize=statfs.getBlockCount()* blocSize;
 long availaSize = statfs.getAvailableBlocks() * blocSize;


 return Formatter.formatFileSize(context, availaSize);
 }
 return new String(context.getString(R.string.none));
   }


   public static String getAvailableInternalMemorySize(Context context) {
 StatFs statfs = new StatFs(Environment.getDataDirectory().getPath());
 long blocSize = statfs.getBlockSize();
 // long totalSize=statfs.getBlockCount()* blocSize;
 long availaSize = statfs.getAvailableBlocks() * blocSize;
 // return Formatter.formatFileSize(context,
 // availaSize)+"/"+Formatter.formatFileSize(context, totalSize);
 return Formatter.formatFileSize(context, availaSize);
   }

2.打印HTTP头
private static void printfHeaderField(Map<String,List<String>> tes)
{
TreeMap<String,List<String>> treemap = new TreeMap<String,List<String>>();
        treemap.putAll(tes);
        Iterator<String> iter = treemap.keySet().iterator();
        Log.d(TAG," ");
        while (iter.hasNext())
        {
        String key = (String) iter.next();
        List<String> value = (List<String>) treemap.get(key);
        for(int i = 0; i < value.size(); i++)
        Log.d(TAG,key + ":" + value.get(i));
        }


}
printfHeaderField(urlConnection.getHeaderFields());



3.4.0执行网络任务不能再UI线程里执行需要在onCreate里加句话:
       StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()        
        .detectDiskReads()        
        .detectDiskWrites()        
        .detectNetwork()   // or .detectAll() for all detectable problems        
        .penaltyLog()        
        .build());        
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()        
        .detectLeakedSqlLiteObjects()     
        .penaltyLog()        
        .penaltyDeath()        
        .build());  




4.给图片加倒影
public static Bitmap createReflectedImage(Bitmap originalImage) {


final int reflectionGap = 4;


int width = originalImage.getWidth();
int height = originalImage.getHeight();


Matrix matrix = new Matrix();
matrix.preScale(1, -1);


Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0,
height / 2, width, height / 2, matrix, false);


Bitmap bitmapWithReflection = Bitmap.createBitmap(width,
(height + height / 2), Config.ARGB_8888);


Canvas canvas = new Canvas(bitmapWithReflection);


canvas.drawBitmap(originalImage, 0, 0, null);


Paint defaultPaint = new Paint();
canvas.drawRect(0, height, width, height + reflectionGap, defaultPaint);


canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);


Paint paint = new Paint();
LinearGradient shader = new LinearGradient(0,
originalImage.getHeight(), 0, bitmapWithReflection.getHeight()
+ reflectionGap, 0x70ffffff, 0x00ffffff,
TileMode.MIRROR);


paint.setShader(shader);


paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));


canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
+ reflectionGap, paint);


return bitmapWithReflection;
}  




5。带圆角的图片
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){ 
 
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); 
 
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; 
}




6.将字符串中指定的所有关键字改变样式
public SpannableStringBuilder setTextColor(String s)
{
if(s==null){return null;}
SpannableStringBuilder style=new SpannableStringBuilder(s);
String searchName=DataUtils.videoName;

for(int i=0;i<s.length();i++)
{
if(i+searchName.length()>s.length()){break;}
String a=s.substring(i, i+searchName.length());

if(searchName.equals(a))
{
style.setSpan(new ForegroundColorSpan(Color.RED), i, i+searchName.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
}
}
return style;

}


7.Android软件时,常常需要打开系统设置或信息界面,来设置相关系统项或查看系统的相关信息,这时我们就可以使用以下语句来实现:(如打开“无线和网络设置”界面)
   Intent intent = new Intent("/");
   ComponentName cm = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");
   intent.setComponent(cm);
   intent.setAction("android.intent.action.VIEW");
   activity.startActivityForResult( intent , 0);
   经过测试,使用下面字段可以在软件中直接打开相应的系统界面
   com.android.settings.AccessibilitySettings 辅助功能设置
   com.android.settings.ActivityPicker 选择活动
   com.android.settings.ApnSettings APN设置
   com.android.settings.ApplicationSettings 应用程序设置
   com.android.settings.BandMode 设置GSM/UMTS波段
   com.android.settings.BatteryInfo 电池信息
   com.android.settings.DateTimeSettings 日期和坝上旅游网时间设置
   com.android.settings.DateTimeSettingsSetupWizard 日期和时间设置
   com.android.settings.DevelopmentSettings 应用程序设置=》开发设置
   com.android.settings.DeviceAdminSettings 设备管理器
   com.android.settings.DeviceInfoSettings 关于手机
   com.android.settings.Display 显示——设置显示字体大小及预览
   com.android.settings.DisplaySettings 显示设置
   com.android.settings.DockSettings 底座设置
   com.android.settings.IccLockSettings SIM卡锁定设置
   com.android.settings.InstalledAppDetails 语言和键盘设置
   com.android.settings.LanguageSettings 语言和键盘设置
   com.android.settings.LocalePicker 选择手机语言
   com.android.settings.LocalePickerInSetupWizard 选择手机语言
   com.android.settings.ManageApplications 已下载(安装)软件列表
   com.android.settings.MasterClear 恢复出厂设置
   com.android.settings.MediaFormat 格式化手机闪存
   com.android.settings.PhysicalKeyboardSettings 设置键盘
   com.android.settings.PrivacySettings 隐私设置
   com.android.settings.ProxySelector 代理设置
   com.android.settings.RadioInfo 手机信息
   com.android.settings.RunningServices 正在运行的程序(服务)
   com.android.settings.SecuritySettings 位置和安全设置
   com.android.settings.Settings 系统设置
   com.android.settings.SettingsSafetyLegalActivity 安全信息
   com.android.settings.SoundSettings 声音设置
   com.android.settings.TestingSettings 测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息
   com.android.settings.TetherSettings 绑定与便携式热点
   com.android.settings.TextToSpeechSettings 文字转语音设置
   com.android.settings.UsageStats 使用情况统计
   com.android.settings.UserDictionarySettings 用户词典
   com.android.settings.VoiceInputOutputSettings 语音输入与输出设置

   com.android.settings.WirelessSettings 无线和网络设置


8.scrollview与listview共存 设置listview高度可以解决
ScrollView与ListView共存会存在滚动的问题,并且ListView只显示一个半Item。 当ListView的高度设定一定的值时,ListView同样地会显示对应的高度的Item。 因此我们可以计算出这个ListView的总高度,再将它设置到ListView中,那么之前的滚动,高度问题也就不存在了。
public void setListViewHeightBasedOnChildren(ListView listView) {  
   
 ListAdapter listAdapter = listView.getAdapter();   
   
 if (listAdapter == null) {  
       
 return;  
    }    
  int totalHeight = 0;  
 
   for (int i = 0; i < listAdapter.getCount(); i++) 
{  
       
 View listItem = listAdapter.getView(i, null, listView); 
 
        listItem.measure(0, 0); 
 
        totalHeight += listItem.getMeasuredHeight(); 
 
    }  
  
  ViewGroup.LayoutParams params = listView.getLayoutParams(); 
 
    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
 
   ((MarginLayoutParams)params).setMargins(10, 10, 10, 10);
  
  listView.setLayoutParams(params);
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值