Android应用启动时,焦点直接在EditText上,输入法直接打开,影响界面美观。
导致进入画面入就打开输入法,影响界面美观。
默认焦点的顺序是:从上倒下 从左到右第一个可以输入的控件作为焦点 可以使用:
btSearch.setFocusable(true);
btSearch.requestFocus();
btSearch.setFocusableInTouchMode(true);
也可以:
在EditText前面放置一个看不到的LinearLayout,让他率先获取焦点:
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px"/>
posted @
2012-03-24 15:33 小果子 阅读(387) |
评论 (0) |
编辑 收藏
摘要: Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。 定义外观 我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格: 该对话框将支持下面特性: 可从资...
阅读全文
posted @
2012-03-24 02:27 小果子 阅读(7431) |
评论 (0) |
编辑 收藏
摘要: 分类: YII 2011-11-21 16:57 737人阅读 评论(0) 收藏 举报 http://www.localyii.com/testwebap/index.php?r=testmod/default/i...
阅读全文
posted @
2012-03-20 20:59 小果子 阅读(6062) |
评论 (1) |
编辑 收藏
摘要: Activity的四种启动模式是相当重要的知识点,给activity设置合适的启动模式有利于程序的运行。 四种启动模式中,singleTask,singleInstance最为重要。 Activity A设置为singleTask,能够保证Activity A在栈中只有一个实例,这个栈也允许存在其他的实例,无论是Activity A是在栈顶还是栈底,当有新的intent请求Activity A时,...
阅读全文
posted @
2012-03-17 23:58 小果子 阅读(2842) |
评论 (0) |
编辑 收藏
在进行BlackBerry程序开发的时候,BlackBerry提供了一个管理Screen的栈,用来从任何地方来关闭位于最上一层的Screen,使 用UiApplication.getUiApplication().getActiveScreen()来得到位于最上一层的Screen的实例,并 且使用UiApplication.getUiApplication().popScreen()来关闭一个Screen或关闭当前最上一层的 Screen,但是Android却未提供相应的功能,只能在一个Activity的对象里面调用finish来关闭自己,不能关闭其他的 Activity。比如我们想实现一个功能从屏幕A—>屏幕B—>屏幕C—>屏幕D,然后在在转到屏幕D之前将屏幕B和C关闭,在屏幕 B和屏幕C界面点击会退按钮都可以回退到上一个屏幕,但是在屏幕D上点击会退按钮让其回退到A,此外在一些循环跳转的界面上如果不在合适的地方将一些不需 要的屏幕关闭,那么经过多次跳转后回导致内存溢出。对此我们可以设计一个全局的Activity栈,使用这个栈来管理Activity。管理 Activity的类的定义如下:
import java.util.Stack;
import android.app.Activity;
public class ScreenManager {
private static Stack<Activity> activityStack;
private static ScreenManager instance;
private ScreenManager(){
}
public static ScreenManager getScreenManager(){
if(instance==null){
instance=new ScreenManager();
}
return instance;
}
public void popActivity(){
Activity activity=activityStack.lastElement();
if(activity!=null){
activity.finish();
activity=null;
}
}
public void popActivity(Activity activity){
if(activity!=null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
public void pushActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
public void popAllActivityExceptOne(Class cls){
while(true){
Activity activity=currentActivity();
if(activity==null){
break;
}
if(activity.getClass().equals(cls) ){
break;
}
popActivity(activity);
}
}
}
posted @
2012-03-17 23:48 小果子 阅读(304) |
评论 (0) |
编辑 收藏