Android應(yīng)用啟動時,焦點直接在EditText上,輸入法直接打開,影響界面美觀。
導(dǎo)致進(jìn)入畫面入就打開輸入法,影響界面美觀。
默認(rèn)焦點的順序是:從上倒下 從左到右第一個可以輸入的控件作為焦點 可以使用:
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 小果子 閱讀(395) |
評論 (0) |
編輯 收藏
摘要: Android 提供了 AlertDialog 類可通過其內(nèi)部類 Builder 輕松創(chuàng)建對話框窗口,但是沒法對這個對話框窗口進(jìn)行定制,為了修改 AlertDialog 窗口顯示的外觀,解決的辦法就是創(chuàng)建一個指定的 AlertDialog 和 AlertDialog.Builder 類。 定義外觀 我們希望將上面默認(rèn)的對話框外觀修改為如下圖所示的新對話框風(fēng)格: 該對話框?qū)⒅С窒旅嫣匦裕?可從資...
閱讀全文
posted @
2012-03-24 02:27 小果子 閱讀(7441) |
評論 (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 小果子 閱讀(6073) |
評論 (1) |
編輯 收藏
摘要: Activity的四種啟動模式是相當(dāng)重要的知識點,給activity設(shè)置合適的啟動模式有利于程序的運(yùn)行。 四種啟動模式中,singleTask,singleInstance最為重要。 Activity A設(shè)置為singleTask,能夠保證Activity A在棧中只有一個實例,這個棧也允許存在其他的實例,無論是Activity A是在棧頂還是棧底,當(dāng)有新的intent請求Activity A時,...
閱讀全文
posted @
2012-03-17 23:58 小果子 閱讀(2848) |
評論 (0) |
編輯 收藏
在進(jìn)行BlackBerry程序開發(fā)的時候,BlackBerry提供了一個管理Screen的棧,用來從任何地方來關(guān)閉位于最上一層的Screen,使 用UiApplication.getUiApplication().getActiveScreen()來得到位于最上一層的Screen的實例,并 且使用UiApplication.getUiApplication().popScreen()來關(guān)閉一個Screen或關(guān)閉當(dāng)前最上一層的 Screen,但是Android卻未提供相應(yīng)的功能,只能在一個Activity的對象里面調(diào)用finish來關(guān)閉自己,不能關(guān)閉其他的 Activity。比如我們想實現(xiàn)一個功能從屏幕A—>屏幕B—>屏幕C—>屏幕D,然后在在轉(zhuǎn)到屏幕D之前將屏幕B和C關(guān)閉,在屏幕 B和屏幕C界面點擊會退按鈕都可以回退到上一個屏幕,但是在屏幕D上點擊會退按鈕讓其回退到A,此外在一些循環(huán)跳轉(zhuǎn)的界面上如果不在合適的地方將一些不需 要的屏幕關(guān)閉,那么經(jīng)過多次跳轉(zhuǎn)后回導(dǎo)致內(nèi)存溢出。對此我們可以設(shè)計一個全局的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 小果子 閱讀(312) |
評論 (0) |
編輯 收藏