1、androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan"可以让界面不被弹出的键盘挤上去

2、在androidmanifest.xml中的application标签中加入android:persistent="true"属性后的确就能够达到保证该应用程序所在进程不会被LMK杀死。但前提是应用程序必须是系统应用

----------------------------------------------------------------------------

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

4、加入android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。

另外,在activity里面重写 onConfigurationChanged
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {// 横屏
  
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {// 竖屏

}
}

---------------------------------------------------------------------------

5、输入法

// 隐藏输入法InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);// 显示或者隐藏输入法imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

/** 隐藏输入法 */
public static void hideInputMethodPanel(Window window) {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}

/** 隐藏输入法 */
public static void hideInputMethod(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

-------------------------------------------------------------

6、Task(栈),Activity跳转时用到Intent Flag

Intent intent = new Intent(this,xxx.class);
1、如果activity在task存在,拿到最顶端,不会启动新的Activity
  intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);


2、如果activity在task存在,将Activity之上的所有Activity结束掉

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);


3、默认的跳转类型,将Activity放到一个新的Task中
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


4、如果Activity已经运行到了Task,再次跳转不会在运行这个Activity
  intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

 

-------------------------------------------------------

7、AndroidManifest.xml中的<Activity>标签的android:launchMode属性设置;启动模式有4种,分别为:standard、singleTop、singleTask、singleInstance。

standard和singleTop属性的 Activity 的实例可以属于任何任务(Task),并且可以位于Activity堆栈的任何位置。

standard和singleTop的区别在于:

对于standard模式的Activity在被调用时会创建一个新的实例,所有实例处理同一个Intent对象;

对于singleTop模式的Activity,如果被调用的任务已经有一个这样的Activity 在堆栈的顶端,那么不会有新的实例创建, 任务会使用当前顶端的Activity实例来处理Intent对象。

singleTask 和 singleInstance模式的Activity 仅可用于启动任务,这种模式的Activity总是处在Activity堆栈的最底端,并且一个任务(task)中只能被实例化一次。

singleTask 和 singleInstance的区别在于:

对于 singleInstance模式的Activity, 任务的Activity堆栈中如果有这样的Activity,那它将是堆栈中的唯一的 Activity, 当前任务收到的 Intent 都由它处理,由它开启的其他 Activity 将在其他任务中被启动。

对于 SingleTask模式的Activity,它在堆栈底端,其上方可以有其他Activity被创建, 但是,如果发给该Activity的Intent对象到来时该Activity不在堆栈顶端,那么该Intent对象将被丢弃,但是界面还是会切换到当前的Activity。

----------------------------------------------------------------------------------

8、全屏

方法1: this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 方法2: 配置文件中,针对activity加上以下配置: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 相对于方法一,没有短暂的title,效果更好 9、设置Activity为Dialog的形式android:theme="@android:style/Theme.Dialog"  将Activity设置成半透明的效果 android:theme= "@android:style/Theme.Translucent" 10、 list滚动时出现黑色底的问题:
解决方法: 方法一: 在XML中设置android:cacheColorHint= "#00000000" 方法二: 在代码中设置listView.setCacheColorHint( 0 );
11、编辑框中指定输入的类型,android:digits= "num"
12、 利用反射机制,获取drawable文件夹下的图片名称:
Field[] fields = R.drawable. class .getDeclaredFields();
for (Field field:fields){ if (! "icon" .equals(field.getName())){ sb.append(field.getName() + "\t" ); } } mTextView.setText(sb.toString()); 13、 保持屏幕长开:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

14、 让ListView的滚动条定位到最后一行
设置以下两个属性:
android:stackFromBottom= "true" android:transcriptMode= "alwaysScroll"
15、Android ListView的美化方法: listview的上边和下边有黑色的阴影
代码解决:ndroid:fadingEdge=”none”
lsitview的每一项之间需要设置一个图片做为间隔
代码解决:android:divider=”@drawable/list_driver” listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来
代码解决:android:scrollingCache=”false 自定义listview的时候,会出现下面选中一个空间黑色底色的情况,破坏整体美观度
代码解决:android:cacheColorHint=“#00000000 默认显示选中的item为橙黄底色,有时候我们需要去掉这种效果
代码解决:android:listSelector属性

16、 TextView底部加横线:mTextView.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG);
TextView中间加横线:mTextView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG);
17、使用2.3版本的sdk才有用,设置proguard.config=proguard.cfg就可以使用混淆码 在4.0版本建的工程中发现proguard.cfg没了,多了proguard-project.txt这个文件,直接将proguard.cfg这个文件拷过去用了。

情况2:

Proguard returned with error code 1. See console
异常:

java.lang.ArrayIndexOutOfBoundsException

解决办法:将proguard.cfg中的"-dontpreverify"改成“-dontoptimize

---------------------------------------------------------------------------------

http://www.open-open.com/lib/view/open1340837992436.html ---------httpPost、httpGet、HttpURLConnection、SD卡

http://www.360doc.com/content/12/0918/23/6522739_236839486.shtml

http://www.oschina.net/question/565065_85958

http://m.blog.csdn.net/blog/dreamer0924/8533121

http://m.blog.csdn.net/blog/dreamer0924/8533121

http://blog.csdn.net/Zengyangtech/article/details/5748674

http://www.eoeandroid.com/thread-191674-1-1.html ----------android备用工具

更多相关文章

  1. android 设置 永不休眠
  2. RadioGroup和RadioButton的使用记录
  3. Android中设置文本颜色的三种方法
  4. Android(安卓)ImageView图片自适应
  5. Android中minSdkVersion、targetSdkVersion、maxSdkVersion的作
  6. [Android]ListView中分割线的设置
  7. Android(安卓)加载动画逐帧动画透明弹窗
  8. ViewPagerIndicator使用
  9. android的ImageSwitcher和TextSwitcher

随机推荐

  1. Android(安卓)Studio Gradle project syn
  2. Android(安卓)进度条
  3. Android中Handler机制
  4. Android(安卓)复制到剪贴板
  5. android xml中应用占位符
  6. Android(安卓)Camera2 API 学习笔记2
  7. Android(安卓)SMS(一) —— 读取短信
  8. android导航条的制作
  9. Android信使Messenger解析
  10. Android应用程序创建桌面快捷方式