編輯:關於Android編程
當在非UI線程中更新UI(程序界面)時會出現如下圖所示的異常:
那如何才能在非UI線程中更細UI呢?
方法有很多種,在這裡主要介紹兩種:
第一種:在需要更新UI的代碼行後加Looper.prepare();與Looper.loop();兩句話即可。如:
new Thread(){ @Override public void run() { // TODO Auto-generated method stub txtRotation.setText("在非UI線程中更新UI!"); Looper.prepare(); Looper.loop(); } }.start();
第二種:使用如下方法:
new Thread(){ @Override public void run() { // TODO Auto-generated method stub showToastByRunnable(MainActivity.this, "", 3000); } }.start();
/** * 在非UI線程中使用Toast * @param context 上下文 * @param text 用以顯示的消息內容 * @param duration 消息顯示的時間 * */ private void showToastByRunnable(final Context context, final CharSequence text, final int duration) { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Toast.makeText(context, text, duration).show(); } }); }
Android基礎入門教程——8.4.3 Android動畫合集之屬性動畫-初見標簽(空格分隔): Android基礎入門教程本節引言: 本節給帶
在Activity中含有EditText時,我們常常在AndroidManifest.xml中為該Activity設置android:windowSoftInputMod
Android 側滑菜單的實現,參考網上的代碼,實現側滑菜單。最重要的是這個動畫類UgcAnimations,如何使用動畫類來側滑的封裝FlipperLayout。1、實
從上一篇文章《Android屏幕適配全攻略》寫完之後,經常會有朋友問我這個問題:“能不能一個App只提供一套切圖適應所有的分辨率呢?”我覺得有必