Android(安卓)特殊用法--来自中国移动开发社区
16lz
2021-01-24
1.让一个图片透明:
复制到剪贴板 Java代码- Bitmapbuffer=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_4444);buffer.eraseColor(Color.TRANSPARENT);
2.直接发送邮件:
复制到剪贴板 Java代码- Intentintent= new Intent(Intent.ACTION_SENDTO,Uri.fromParts( "mailto" , "test@test.com" , null ));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
3.程序控制屏幕变亮:
复制到剪贴板 Java代码- WindowManager.LayoutParamslp=getWindow().getAttributes();
- lp.screenBrightness= 100 / 100 .0f;
- getWindow().setAttributes(lp);
4.过滤特定文本
复制到剪贴板 Java代码- Filterfilter=myAdapter.getFilter();
- filter.filter(mySearchText);
5.scrollView scroll停止事件
复制到剪贴板 Java代码- setOnScrollListener( new OnScrollListener(){
- public void onScroll(AbsListViewview, int firstVisibleItem, int visibleItemCount, int totalItemCount){
- //TODOAuto-generatedmethodstub}
- public void onScrollStateChanged(AbsListViewview, int scrollState){
- //TODOAuto-generatedmethodstub
- if (scrollState== 0 )Log.i( "a" , "scrollingstopped..." );}});}
6. 对于特定的程序 发起一个关联供打开
复制到剪贴板 C/C++代码- Bitmapbmp=getImageBitmap(jpg);
- Stringpath=getFilesDir().getAbsolutePath()+ "/test.png" ;
- Filefile= new File(path);
- FileOutputStreamfos= new FileOutputStream(file);
- bmp.compress(CompressFormat.PNG,100,fos);
- fos.close();
- Intentintent= new Intent();
- intent.setAction(android.content.Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.fromFile( new File(path)), "image/png" );
- startActivity(intent);
- 对于图片上边的不适用索引格式会出错。
- Intentintent= new Intent();
- intent.setAction(android.content.Intent.ACTION_VIEW);
- Filefile= new File( "/sdcard/test.mp4" );
- intent.setDataAndType(Uri.fromFile(file), "video/*" );
- startActivity(intent);
- Intentintent= new Intent();
- intent.setAction(android.content.Intent.ACTION_VIEW);
- Filefile= new File( "/sdcard/test.mp3" );
- intent.setDataAndType(Uri.fromFile(file), "audio/*" );
- startActivity(intent);
7.设置文本外观
复制到剪贴板 Java代码- setTextAppearance(context,android.R.style.TextAppearance_Medium);
- android:textAppearance= "?android:attr/textAppearanceMedium"
8.设置单独的发起模式:
复制到剪贴板 Java代码- <activity
- android:name= ".ArtistActivity"
- android:label= "Artist"
- android:launchMode= "singleTop" >
- </activity>
- Intenti= new Intent();
- i.putExtra(EXTRA_KEY_ARTIST,id);
- i.setClass( this ,ArtistActivity. class );
- i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- startActivity(i);
9.创建一个圆角图片
这个的主要原理其实就是利用遮罩,先创建一个圆角方框 然后将图片放在下面:
- BitmapmyCoolBitmap=...;
- int w=myCoolBitmap.getWidth(),h=myCoolBitmap.getHeight();
- Bitmaprounder=Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);
- Canvascanvas= new Canvas(rounder);
- PaintxferPaint= new Paint(Paint.ANTI_ALIAS_FLAG);
- xferPaint.setColor(Color.RED);
- canvas.drawRoundRect( new RectF( 0 , 0 ,w,h), 20 .0f, 20 .0f,xferPaint);
- xferPaint.setXfermode( new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
- //然后呢实现
- canvas.drawBitmap(myCoolBitmap, 0 , 0 , null );
- canvas.drawBitmap(rounder, 0 , 0 ,xferPaint);
10.在notification 上的icon上加上数字 给人提示有多少个未读
复制到剪贴板 Java代码- Notificationnotification= new Notification(icon,tickerText,when);
- notification.number= 4 ;
11背景渐变:
首先建立文件drawable/shape.xml
- <?xmlversion= "1.0" encoding= "utf-8" ?>
- <shapexmlns:android= "http://schemas.android.com/apk/res/android" android:shape= "rectangle" >
- <gradientandroid:startColor= "#FFFFFFFF" android:endColor= "#FFFF0000"
- android:angle= "270" />
- </shape>
在该文件中设置渐变的开始颜色(startColor)、结束颜色(endColor)和角度(angle)
接着创建一个主题values/style.xml
- <?xmlversion= "1.0" encoding= "utf-8" ?>
- <resources>
- <stylename= "NewTheme" parent= "android:Theme" >
- <itemname= "android:background" > @drawable /shape</item>
- </style>
- </resources>
然后在AndroidManifest.xml文件中的application或activity中引入该主题,如:
复制到剪贴板 Java代码- <activityandroid:name= ".ShapeDemo" android:theme= "@style/NewTheme" >
该方法同样适用于控件 http://17f8.cn/trackback.php?tbID=259&extra=9d45e9
12. 储存数据 当你在一个实例中保存静态数据,此示例关闭后 下一个实例想引用 静态数据就会为null,这里呢必须重写applition
- public class MyApplication extends Application{
- private Stringthing= null ;
- public StringgetThing(){
- return thing;
- }
- public void setThing(Stringthing){
- this .thing=thing;}
- }
- public class MyActivity extends Activity{
- private MyApplicationapp;
- public void onCreate(BundlesavedInstanceState){
- super .onCreate(savedInstanceState);
- app=((MyApplication)getApplication());
- Stringthing=app.getThing();
- }
- }
更多相关文章
- 〖Android〗/system/etc/event-log-tags
- Android(安卓)progressBar代码设置进度条颜色、背景颜色以及圆角
- Android(安卓)之 Bitmap 和 File 相互转换
- android camera Intent调用
- 查询存储空间的代码
- 在AndroidStudio中使用V8包中的RenderScript
- UI 开源代码 FileBrowserView
- Android系列教程:TextView小组件的使用--附带超链接和跑马灯效果
- android中实现从一个图片中截取一部分,在翻转,成一个圆形显示