发布于 2016-04-12 08:55:46 | 155 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Android移动端操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。


简单的自定义dialog,该dialog具备以下功能:有一个窗口可以显示文章、根据需求显示,有需要的朋友可以参考下
本人工作有一个月多了。对于android很多东西,都有了新的了解或者说真正的掌握。为了让更多的像我这样的小白少走弯路,所以我会坚持将我在工作中遇到的一些比较令我印象深刻的知识点整合出来给大家(顺序是按照我工作到现在的时间来制作的,其实也是想给自己一个记录吧。记录自己一路走来以及以后的路,
至少我想找到曾经的记录都有了)。
第一个需求:简单的自定义dialog
需求:创建一个dialog,该dialog具备以下功能
1.有一个窗口可以显示文章
2.根据需求显示
1)点击同意(不同意),触发对应的事件(同意的事件会弹出一个Toast,不同意则会关闭程序)
2)点击关闭,关闭dialog
1.在main.xml文件中设定一个按钮,点击会弹出dialog
 
<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.创建dialog的内容布局,布局中设定了使用相对布局设定了三个按钮,其中两个一起出现(同意和不同意),另外一个单独出现(关闭)默认是两个出现
 
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); // 阻止返回键的响应 
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的内容 */ 
public void showDialog() { 
String localHtml = "file:///android_asset/los.html"; 
if (mWebView != null) { 
mWebView.getSettings().setDefaultTextEncodingName("utf-8"); 
mWebView.loadUrl(localHtml); 
} 
buttonsDisplayTwo(false); 
} 
/** 当true的时候,出现同意和不同意两个选项,反之是关闭选项 */ 
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的代码就不写了。。直接写自定义的dialog代码
 
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); // 阻止返回键的响应 
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的内容 */ 
public void showDialog() { 
String localHtml = "file:///android_asset/los.html"; 
if (mWebView != null) { 
mWebView.getSettings().setDefaultTextEncodingName("utf-8"); 
mWebView.loadUrl(localHtml); 
} 
buttonsDisplayTwo(false); 
} 
/** 当true的时候,出现同意和不同意两个选项,反之是关闭选项 */ 
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); 
} 

效果图如下:
     

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务