【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog_第1頁
【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog_第2頁
【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog_第3頁
【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog_第4頁
【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】Android之Dialog

一:UI設(shè)計1,Dialog(對話框)1-1:新建dialog_bay.xml,方法:右擊“l(fā)ayout”->new->XML->LayoutXMLFile,如下圖1-2:ui當中的重要的控件①,(RadioGroup)rg_type:單選按鈕組①-1:(RadioButton)rb_zfb:支付寶①-2:(RadioButton)rb_wx:微信②,(Button)btn_ok:確定按鈕1-3:界面布局如下:2,activity_main.xml(主界面UI)設(shè)計

2-1:ui當中的重要的控件

①,(Button)btn_pay:確定支付

2-2:界面如下:2-3:注意,為簡化起見,沒有放商品圖片。這里重點講解對話框二:代碼設(shè)計①,DialogPay.javapackagecom.example.kayer.dialogdemo;

importandroid.app.DialogFragment;

importandroid.graphics.Color;

importandroid.graphics.drawable.ColorDrawable;

importandroid.os.Bundle;

importandroid.support.annotation.Nullable;

importandroid.util.Log;

importandroid.view.Gravity;

importandroid.view.LayoutInflater;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.view.Window;

importandroid.view.WindowManager;

importandroid.widget.Button;

importandroid.widget.RadioGroup;

publicfinalclassDialogPayextendsDialogFragment{

privatefinalStringTAG="測試Pay";

privateView_contentView=null;

privateOnDialogPayListener_listener=null;

publicinterfaceOnDialogPayListener{

voidonDialogPayReturn(String$option);

}

publicvoidsetOnDialogPayListener(OnDialogPayListener$listener){

this._listener=$listener;

}

@Nullable

@Override

publicViewonCreateView(LayoutInflaterinflater,@NullableViewGroupcontainer,BundlesavedInstanceState){

//創(chuàng)建View

this._contentView=inflater.inflate(R.layout.dialog_pay,container);

//點擊按鈕關(guān)閉對話框

Button$button=(Button)this._contentView.findViewById(R.id.btn_ok);

$button.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

//關(guān)閉

DialogPay.this.dismiss();

//返回數(shù)據(jù)

DialogPay.this.returnInfos();

}

});

returnthis._contentView;

}

publicvoidreturnInfos(){

RadioGroup$rg=(RadioGroup)this._contentView.findViewById(R.id.rg_type);

int$rb_id=$rg.getCheckedRadioButtonId();

String$option=$rb_id==R.id.rb_zfb?"支付寶":"微信";

Log.d(this.TAG,"對話框選擇的支付方式:"+$option);

if(null!=this._listener){

this._listener.onDialogPayReturn($option);

}

}

@Override

publicvoidonStart(){

super.onStart();

//當對話框顯示時,調(diào)整對話框的窗口位置

Window$win=getDialog().getWindow();

if(null!=$win){

$win.setBackgroundDrawable(newColorDrawable(Color.WHITE));

//設(shè)置對話框的窗口顯示

WindowManager.LayoutParams$lp=$win.getAttributes();

$lp.dimAmount=0.3f;//背景灰度

$lp.gravity=Gravity.BOTTOM;//靠下顯示

$lp.width=ViewGroup.LayoutParams.MATCH_PARENT;

$lp.height=ViewGroup.LayoutParams.WRAP_CONTENT;

$win.setAttributes($lp);

}

}

}

注意:DialogFragment是出自android.app.Dialogfragment包定義了一個類似與一個監(jiān)聽器②,MainActivity.javapackagecom.example.kayer.dialogdemo;

importandroid.support.v7.app.AppCompatActivity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.Toast;

publicclassMainActivityextendsAppCompatActivity{

privateButtonbtn_pay=null;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.init();

}

privatevoidinit(){

this.btn_pay=(Button)findViewById(R.id.btn_pay);

this.btn_pay.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

DialogPay$dl=newDialogPay();

$dl.setOnDialogPayListener(newDialogPay.OnDialogPayListener(){

@Override

publicvoidonDialogPayReturn(String$option){

//處理對話框返回來的數(shù)據(jù)

Toast.makeText(Ma

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論