編輯:關於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
演示效果如下:項目布局如下:MainActivity.java代碼import java.util.ArrayList;import java.util.List;imp
這篇文章拖了好久了,一直存在草稿箱裡沒有繼續寫,趁今天有空,撸撸完。回想一下,你剛剛學習Android的時候,總會看到一些書上寫著,Android使用的是MVC模式,Ac
Android 虛化圖片 模糊圖片 圖片毛玻璃效果。 效果如圖: 在Android可以用RenderScript方便的實現這個方法: private void blu
SAX是一個解析速度快並且占用內存少的xml解析器,非常適合用於Android等移動設備。 SAX解析XML文件采用的是事件驅動,也就是說,它並不需要解析完整個文檔,在按