編輯:關於Android編程
Android UI組件進階(2)——仿Windows對話框
在開始本章前先祝大家中秋節快樂哈,相信很多上班的朋友都是放三天假的哈!
有時間的話回家陪陪父母吧!樹欲靜而風不止,子欲養而親不待!歲月不饒人!
好了,道理和祝福語就說到這裡了,今天給大家准備的是模仿Windows風格對話框!
相信大部分的AlertDialog都是下面這個樣子的:

今天給大家講解的對話框是下面這樣的:

對比兩種對話框,站在用戶的角度,相信你更加鐘情於第二種顏色鮮明的對話框
好了下面就開始講解如何制作模仿windows風格的對話框吧!
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxoMT60+sLrtcTC37ytwfezzDo8L2gxPgo8cD48c3Ryb25nPsbkyrW+zcrH19S2qNLlttS7sL/ytcSyvL7WLMi7uvO809TY0tS8sM3qs8nP4NOmtcTKwrz+tKbA7bb40tGjoTwvc3Ryb25nPjwvcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140906/201409060835017.jpg" alt="\">
①按鈕點擊效果:btnexit_selctor.xml
package com.jay.example.windowsdialogdemo;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button btnshow;
private View dialogView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnshow = (Button) findViewById(R.id.btnshow);
btnshow.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Builder builder = myBuilder(MainActivity.this);
final AlertDialog dialog = builder.show();
//設置點擊屏幕外側,對話框不消失,不設置的話點外面對話框就會消失
dialog.setCanceledOnTouchOutside(false);
//接著要監聽對話框中的三個按鈕:
//①關閉對話框的按鈕:
ImageButton imgcancle = (ImageButton) dialogView.findViewById(R.id.btncancle);
imgcancle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
//①鏈接到博客的按鈕
Button btnblob = (Button) dialogView.findViewById(R.id.btnblog);
btnblob.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "訪問博客", Toast.LENGTH_SHORT).show();
Uri uri = Uri.parse("http://blog.csdn.net/coder_pig");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
dialog.dismiss();
}
});
//③點擊退出的按鈕:
Button btnclose = (Button) dialogView.findViewById(R.id.btnclose);
btnclose.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
}
//定義一個返回Builder對象的方法,其實這裡是設置對話框顯示view內容的方法
private Builder myBuilder(Context context) {
final LayoutInflater inflater = MainActivity.this.getLayoutInflater();
AlertDialog.Builder builder = new AlertDialog.Builder(context);
dialogView = inflater.inflate(R.layout.dialog_win, null);
return builder.setView(dialogView);
}
});
}
}
http://pan.baidu.com/s/1jGone5o
Android使用ActionBar和ViewPager切換頁面
演示效果如下:項目布局如下:MainActivity.java代碼import java.util.ArrayList;import java.util.List;imp
MVP模式在Android開發中的最佳實踐
這篇文章拖了好久了,一直存在草稿箱裡沒有繼續寫,趁今天有空,撸撸完。回想一下,你剛剛學習Android的時候,總會看到一些書上寫著,Android使用的是MVC模式,Ac
Android 虛化圖片的方法
Android 虛化圖片 模糊圖片 圖片毛玻璃效果。 效果如圖: 在Android可以用RenderScript方便的實現這個方法: private void blu
Android中使用sax解析xml文件的方法
SAX是一個解析速度快並且占用內存少的xml解析器,非常適合用於Android等移動設備。 SAX解析XML文件采用的是事件驅動,也就是說,它並不需要解析完整個文檔,在按