1.获取资源: Resources res = getBaseContext().getResources(); Drawable draw=res.getDrawable(R.drawable.icon); 2.获得数组: String[] ary = getResources().getStringArray(R.array.ary); 3.自动提示框: 代码 String[] arrays=new String[]{"a","ab","abc","bc","bcde","ee"}; actalert=(AutoCompleteTextView)findViewById(R.id.actalert); ArrayAdapter<String> adapter=new ArrayAdapter<String>( this, android.R.layout.simple_dropdown_item_1line, arrays); actalert.setAdapter(adapter); mactalert=(MultiAutoCompleteTextView)findViewById(R.id.mactvalert); mactalert.setAdapter(adapter); // 设置多个值之间的分隔符,此处为逗号 mactalert.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); 4.spinner设置数据源 spncolor.setPrompt("请选择"); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.attr, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spncolor.setAdapter(adapter); 5.显示当前时间: SimpleDateFormat sdf =new SimpleDateFormat("HH:mm:ss"); // 将当前时间显示在TextView组件中 tvTime.setText("当前时间:"+ sdf.format(new Date())); 6.代码添加布局文件 AbsListView.LayoutParams lp =new AbsListView.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, 64); TextView text =new TextView(activity); text.setLayoutParams(lp); text.setTextSize(20); text.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); text.setPadding(36, 0, 0, 0); text.setText(s); 7.自定义窗口标题栏 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);//自定义标题栏 setContentView(R.layout.main); //为标题栏设置一个xml布局 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_custom); 8.Activity仿Dialog Theme(加图标和标题其实就是Activity的icon和titile) (1).自定义样式 <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/filled_box</item> </style> @drawable/filled_box:资源文件中新建drawable文件夹,新建filled_box样式xml 代码 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#f0600000"/> <stroke android:width="3dp" color="#ffff8080"/> <corners android:radius="3dp"/> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/> </shape> (2)Manifest.xml中配置Acitivity样式 代码 <activity android:name=".Main" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> (3)为Activity设置图标 代码 //设定窗口模式(仿Dialog中的icon,带有一个左图标) requestWindowFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.main); //设置图片资源 getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON , R.drawable.icon); 9.从一个Activity1到另一个Activity2,当在第二个Activity2按返回键不出现Activity1的做法是在打开Activity2的同时关闭 Activity1 Intent intent =new Intent(Main.this, fowardwidget.class); startActivity(intent); finish(); 10.允许TextView的文本值拼接 (1)允许在TextView的文本值后添加buffer text tv.setText(tv.getText(),TextView.BufferType.EDITABLE); (2)使用Editable对象添加buffer text Editable text=(Editable)tv.getText(); text.append("editable"); text.append("/n"): 11.如果历史栈中包含Activity,打开此Activity从栈中放到栈顶层而不是从新打开Activity Intent intent =new Intent(ReorderFour.this, ReorderTwo.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); 12.避免输入法面板遮挡,在manifest.xml中activity中设置android:windowSoftInputMode android:windowSoftInputMode="stateVisible|adjustResize" 13.获取当前手机壁纸和设置手机壁纸(wallpaper) (1)获取当前壁纸 WallpaperManager wm=WallpaperManager.getInstance(this); Drawable wallpaper=wpm.getDrawable(); (2)设置当前壁纸,同时要添加壁纸设置权限 imapaper.setDrawingCacheEnabled(true); Drawable drawale=this.getResources().getDrawable(R.drawable.bg); imapaper.setImageDrawable(drawale); wpm.setBitmap(imapaper.getDrawingCache()); <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission> 14.常见通过系统服务得到的实例化对象 NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); 15.检查网络是否连接 代码 //检查网络是否连接 publicboolean checkIntent(){ ConnectivityManager mannager=(ConnectivityManager) this.getSystemService(CONNECTIVITY_SERVICE); NetworkInfo info=mannager.getActiveNetworkInfo(); if(info==null||!info.isConnected()){ returnfalse; } if(info.isRoaming()){ returntrue; } returntrue; } <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 16.从资源文件中(asset)读取文本文档 //获得输入流 InputStream in=getAssets().open("read_asset.txt"); int size=in.available(); //将输入流读到字节数组中(内存) byte[] buffer=newbyte[size]; in.read(buffer); in.close(); String text=new String(buffer); 17.TextView.Button等设置文本滚动(跑马灯效果),控件必须获得焦点才能有滚动效果,并且文字长度大于控件长度 android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:marqueeRepeatLimit="marquee_forever" //marquee_forever:一直滚动下去,n(整数):滚动n次 18.bitmap转drwable时图片尺寸变小的原因,这样:Drawable d = new BitmapDrawable(getResources(),viewBitmap)则正常, 这种方法:Drawable d = new BitmapDrawable(viewBitmap)尺寸则会变小。
19.listView卡顿的原因之一是可能在布局里没有把listview的高和宽设为fill_parent。
20.webView禁用双击放大
// 设置不支持缩放控件 webSettings.setBuiltInZoomControls(false); webSettings.setSupportZoom(false);
html的head里添加:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" />
21.在listView修改文字颜色时要这样使用itemView.hotView.setTextColor(getResources().getColor(R.color.family_title_black)),如果:itemView.hotView.setTextColor(R.color.family_title_black)则无法修改。