adnroid仿miui的dialog,adnroidmiuidialog

來源:互聯網
上載者:User

adnroid仿miui的dialog,adnroidmiuidialog

先來看下:



其中show和dismiss的時候有動畫效果。


原先試過使用PopupWindow來做,但是使用的時候不是那麼舒服,畢竟不是dialog嘛。

所以這次嘗試還是使用dialog來做 ,很多地方是引用了系統源碼(源碼是最好的老師)


首先看CustomDialog.java的建構函式:

protected CustomDialog(Context context) {        this(context, R.style.CustomDialog);    }    protected CustomDialog(Context context, int theme) {        super(context, theme);        mAlert = new AlertController(context, this, getWindow());                Window window = getWindow();        window.setGravity(Gravity.BOTTOM); // 設定window的位置為底部        window.setWindowAnimations(R.style.AnimationDialog); // 設定window的動畫        window.setBackgroundDrawableResource(android.R.color.transparent); // 設定window背景透明    }

 

艾瑪,不太會描述,直接上源碼


0資源分代碼:http://download.csdn.net/detail/luck_apple/7735321


用eclipse建立adnroid的avd問題

First you have to specify the Android SDK installation folder to the Eclipse Android plugin. Go to Preferences -> Android and set it. After that you have to install the target versions you want to develop against.

Go to AVD Manager -> Available Packages and download the targets that you need. After that you should be able to create your AVD. If you still have problems, try restarting Eclipse because that solved some issues for me a number of times.

If you still have problems try reading the Troubleshooting Tips.

首先,你必須指定檔案夾中的Android SDK安裝到Eclipse的Android外掛程式。前往“Preferences -> Android設定。之後,然後安裝你想要部署的版本。

前往AVD Manager -> Available Packages ,並下載您所需要的包。之後,你應該能夠建立您的AVD。如果您仍然有問題,請嘗試重新啟動Eclipse,因為這解決了我一些問題多次。

如果您仍然有問題,請嘗試閱讀疑難解答提示。
 
adnroid怎開啟新的進程

使用handler並沒有建立一個新的進程,沒有新的進程必須要開啟之後才行(start方法),而是一種假線程,每個建立一個handler就將一個線程和訊息佇列綁定在一起。
如何建立一個新的進程,看下面的代碼:

[java] view plaincopy
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("Activity Id: " + Thread.currentThread().getId());
System.out.println("Activity Name: " + Thread.currentThread().getName());
//建立一個新的進程,必須使用start方法啟動
HandlerThread thread = new HandlerThread("otherThread");
thread.start();
//將新的線程和handler綁定在一起
//每個線程裡面都有各一個looper,looper用於迴圈接受訊息
MyHandler myHandler = new MyHandler(thread.getLooper());
//發送message到myhandler中
Message msg = myHandler.obtainMessage();
//將資料放入bundle中,通過訊息發送
Bundle bundle = new Bundle();
bundle.putString("name", "gap");
bundle.putInt("age", 23);
msg.setData(bundle);
msg.sendToTarget();
}

class MyHandler extends Handler {
public MyHandler() {

}
public MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
System.out.println("otherThr......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.