亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

android dialog自定義實(shí)例詳解

 更新時(shí)間:2012年12月05日 14:18:19   作者:  
簡(jiǎn)單的自定義dialog,該dialog具備以下功能:有一個(gè)窗口可以顯示文章、根據(jù)需求顯示,有需要的朋友可以參考下
本人工作有一個(gè)月多了。對(duì)于android很多東西,都有了新的了解或者說(shuō)真正的掌握。為了讓更多的像我這樣的小白少走彎路,所以我會(huì)堅(jiān)持將我在工作中遇到的一些比較令我印象深刻的知識(shí)點(diǎn)整合出來(lái)給大家(順序是按照我工作到現(xiàn)在的時(shí)間來(lái)制作的,其實(shí)也是想給自己一個(gè)記錄吧。記錄自己一路走來(lái)以及以后的路,
至少我想找到曾經(jīng)的記錄都有了)。
第一個(gè)需求:簡(jiǎn)單的自定義dialog
需求:創(chuàng)建一個(gè)dialog,該dialog具備以下功能
1.有一個(gè)窗口可以顯示文章
2.根據(jù)需求顯示
1)點(diǎn)擊同意(不同意),觸發(fā)對(duì)應(yīng)的事件(同意的事件會(huì)彈出一個(gè)Toast,不同意則會(huì)關(guān)閉程序)
2)點(diǎn)擊關(guān)閉,關(guān)閉dialog
1.在main.xml文件中設(shè)定一個(gè)按鈕,點(diǎn)擊會(huì)彈出dialog
復(fù)制代碼 代碼如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
android:id="@+id/btn"
android:background="@drawable/sl_btn_red" />
</RelativeLayout>

2.創(chuàng)建dialog的內(nèi)容布局,布局中設(shè)定了使用相對(duì)布局設(shè)定了三個(gè)按鈕,其中兩個(gè)一起出現(xiàn)(同意和不同意),另外一個(gè)單獨(dú)出現(xiàn)(關(guān)閉)默認(rèn)是兩個(gè)出現(xiàn)
復(fù)制代碼 代碼如下:

private TextView btnClose = null;
private TextView btnAgree = null;
private TextView btnDisagree = null;
private WebView mWebView = null;
public MyDialog(Context context) {
super(context, R.style.item_tnc_dialog);
setCancelable(false); // 阻止返回鍵的響應(yīng)
setContentView(R.layout.dialog_view);
getWindow().setLayout(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
setUpView();
}
private void setUpView() {
mWebView = (WebView) findViewById(R.id.item_tnc_dialog_webview);
btnClose = (TextView) findViewById(R.id.item_tnc_dialog_close);
btnAgree = (TextView) findViewById(R.id.item_tnc_dialog_agree);
btnDisagree = (TextView) findViewById(R.id.item_tnc_dialog_disagree);
btnClose.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
btnDisagree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
System.exit(0);
}
});
btnAgree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "YOU SELECTED AGREE",
Toast.LENGTH_SHORT).show();
dismiss();
}
});
showDialog();
}
/** 加載webview的內(nèi)容 */
public void showDialog() {
String localHtml = "file:///android_asset/los.html";
if (mWebView != null) {
mWebView.getSettings().setDefaultTextEncodingName("utf-8");
mWebView.loadUrl(localHtml);
}
buttonsDisplayTwo(false);
}
/** 當(dāng)true的時(shí)候,出現(xiàn)同意和不同意兩個(gè)選項(xiàng),反之是關(guān)閉選項(xiàng) */
private void buttonsDisplayTwo(boolean two) {
btnAgree.setVisibility(two ? View.VISIBLE : View.GONE);
btnDisagree.setVisibility(two ? View.VISIBLE : View.GONE);
btnClose.setVisibility(two ? View.GONE : View.VISIBLE);
}

3.main.activity的代碼就不寫(xiě)了。。直接寫(xiě)自定義的dialog代碼
復(fù)制代碼 代碼如下:

private TextView btnClose = null;
private TextView btnAgree = null;
private TextView btnDisagree = null;
private WebView mWebView = null;
public MyDialog(Context context) {
super(context, R.style.item_tnc_dialog);
setCancelable(false); // 阻止返回鍵的響應(yīng)
setContentView(R.layout.dialog_view);
getWindow().setLayout(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT);
setUpView();
}
private void setUpView() {
mWebView = (WebView) findViewById(R.id.item_tnc_dialog_webview);
btnClose = (TextView) findViewById(R.id.item_tnc_dialog_close);
btnAgree = (TextView) findViewById(R.id.item_tnc_dialog_agree);
btnDisagree = (TextView) findViewById(R.id.item_tnc_dialog_disagree);
btnClose.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dismiss();
}
});
btnDisagree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
System.exit(0);
}
});
btnAgree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "YOU SELECTED AGREE",
Toast.LENGTH_SHORT).show();
dismiss();
}
});
showDialog();
}
/** 加載webview的內(nèi)容 */
public void showDialog() {
String localHtml = "file:///android_asset/los.html";
if (mWebView != null) {
mWebView.getSettings().setDefaultTextEncodingName("utf-8");
mWebView.loadUrl(localHtml);
}
buttonsDisplayTwo(false);
}
/** 當(dāng)true的時(shí)候,出現(xiàn)同意和不同意兩個(gè)選項(xiàng),反之是關(guān)閉選項(xiàng) */
private void buttonsDisplayTwo(boolean two) {
btnAgree.setVisibility(two ? View.VISIBLE : View.GONE);
btnDisagree.setVisibility(two ? View.VISIBLE : View.GONE);
btnClose.setVisibility(two ? View.GONE : View.VISIBLE);
}

效果圖如下:
     

相關(guān)文章

  • Android 中ImageView的ScaleType使用方法

    Android 中ImageView的ScaleType使用方法

    這篇文章主要介紹了Android 中ImageView的ScaleType使用方法的相關(guān)資料,希望通過(guò)本能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 詳解Android布局加載流程源碼

    詳解Android布局加載流程源碼

    這篇文章主要介紹了詳解Android布局加載流程源碼,對(duì)布局感興趣的同學(xué)可以參考下
    2021-04-04
  • Android中HttpURLConnection類(lèi)使用介紹

    Android中HttpURLConnection類(lèi)使用介紹

    早些時(shí)候其實(shí)我們都習(xí)慣性使用HttpClient,但是后來(lái)Android6.0之后不再支持HttpClient,需要添加Apache的jar才行,所以,就有很多開(kāi)發(fā)者放棄使用HttpClient了,HttpURLConnection畢竟是標(biāo)準(zhǔn)Java接口(java.net) ,適配性還是很強(qiáng)的
    2022-12-12
  • Android懸浮按鈕的使用方法

    Android懸浮按鈕的使用方法

    這篇文章主要為大家詳細(xì)介紹了Android懸浮按鈕的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android中AlertDialog四種對(duì)話框的最科學(xué)編寫(xiě)用法(實(shí)例代碼)

    Android中AlertDialog四種對(duì)話框的最科學(xué)編寫(xiě)用法(實(shí)例代碼)

    這篇文章主要介紹了Android中AlertDialog四種對(duì)話框的最科學(xué)編寫(xiě)用法,本文通過(guò)代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • AndroidSDK Support自帶夜間、日間模式切換詳解

    AndroidSDK Support自帶夜間、日間模式切換詳解

    這篇文章主要為大家詳細(xì)介紹了AndroidSDK Support自帶夜間、日間模式切換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android中使用Canvas繪制南丁格爾玫瑰圖(Nightingale rose diagram)

    Android中使用Canvas繪制南丁格爾玫瑰圖(Nightingale rose diagram)

    這篇文章主要介紹了Android中使用Canvas繪制南丁格爾玫瑰圖(Nightingale rose diagram),本文直接給出實(shí)現(xiàn)代碼和運(yùn)行效果圖,需要的朋友可以參考下
    2015-03-03
  • Presenting?Streams?in?Flutter小技巧

    Presenting?Streams?in?Flutter小技巧

    這篇文章主要為大家介紹了Presenting?Streams?in?Flutter小技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • android實(shí)現(xiàn)在圖標(biāo)上顯示數(shù)字

    android實(shí)現(xiàn)在圖標(biāo)上顯示數(shù)字

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)在圖標(biāo)上顯示數(shù)字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Android實(shí)現(xiàn)一個(gè)絲滑的自動(dòng)輪播控件實(shí)例代碼

    Android實(shí)現(xiàn)一個(gè)絲滑的自動(dòng)輪播控件實(shí)例代碼

    輪播圖對(duì)大家來(lái)說(shuō)應(yīng)該再熟悉不過(guò)了,下面這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)一個(gè)絲滑的自動(dòng)輪播控件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08

最新評(píng)論