- 浏览: 78873 次
- 性别:
- 来自: 深圳
文章分类
最新评论
从本节将开始阐述一个完整系统Demo,从登陆--主页--查询展示具体详情...这节是一个自定义登陆弹出框,接着上一节的logo全屏页面之后将出现一个全屏的ImagView,点击弹出自定义登陆框,输入账号密码提交,弹出提交等待框效果如图:
提交等待框:
代码:
package com.gk; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; import com.gk.data.UserDataServiceHelper; import com.gk.view.mainview; public class EHRActivity extends Activity implements OnClickListener{ private ImageView button1; private String usernamestr; private String passwordstr; private ProgressDialog progressdialog; private AlertDialog selfdialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE);//取消标题栏 //取消状态栏 this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); button1 =(ImageView) findViewById(R.id.button1); button1.setOnClickListener(this); // initview(); } private View view; public void initview() { //创建view从当前activity获取loginactivity LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.login, null); final EditText username=(EditText)view.findViewById(R.id.txt_username); final EditText password = (EditText)view.findViewById(R.id.txt_password); username.setText("XXXX"); password.setText("XXXX"); //为了测试方便所以在这里初始化弹出框是填上账号密码 AlertDialog.Builder ad =new AlertDialog.Builder(EHRActivity.this); ad.setView(view); ad.setTitle("账号登陆"); selfdialog = ad.create(); selfdialog.setButton("登陆", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //获取输入框的用户名密码 usernamestr = username.getText().toString(); passwordstr =password.getText().toString(); progressdialog =ProgressDialog.show(EHRActivity.this, "请等待...", "正在为您登陆..."); refreshHandler.sleep(100); //dialog.cancel(); } }); selfdialog.setButton2("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { selfdialog.cancel(); } }); selfdialog.show(); } private RefreshHandler refreshHandler =new RefreshHandler(); //处理器 class RefreshHandler extends Handler{ @Override public void handleMessage(Message msg) { try{ //这里是提交到服务器的代码,封装代码这里不再给出,网上例子很多可以找找 String host =UserDataServiceHelper.getHost(); String uri=host+"/anndroiduser.do?user=login"; /**flag 是接收来自服务器端的数据包装,这里客户与服务器交互用的是json json解析出对象,将对象放入bundle,如: Bundle bagent =new Bundle(); bagent.putSerializable("agent", agent); */ Bundle flag = UserDataServiceHelper.login(uri, usernamestr, passwordstr); if(flag !=null){ Toast.makeText(EHRActivity.this, "登陆成功", Toast.LENGTH_SHORT).show(); Intent intent =new Intent(); intent.setClass(EHRActivity.this, mainview.class); intent.putExtras(flag); EHRActivity.this.startActivity(intent); }else{ Toast.makeText(EHRActivity.this, "登陆失败", Toast.LENGTH_SHORT).show(); view.findViewById(R.id.txt_loginerror).setVisibility(View.VISIBLE); } }catch(Exception e){ e.printStackTrace(); }finally{ progressdialog.dismiss();//解除进度条 } } public void sleep(long delayMillis){ this.removeMessages(0); sendMessageDelayed(obtainMessage(0), delayMillis); } } @Override public void onClick(View v) { //创建view从当前activity获取loginactivity LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.login, null); final EditText username=(EditText)view.findViewById(R.id.txt_username); final EditText password = (EditText)view.findViewById(R.id.txt_password); username.setText("3001"); password.setText("3001"); AlertDialog.Builder ad =new AlertDialog.Builder(EHRActivity.this); ad.setView(view); ad.setTitle("账号登陆"); selfdialog =ad.create(); selfdialog.setButton("登陆", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //获取输入框的用户名密码 usernamestr = username.getText().toString(); passwordstr =password.getText().toString(); //提交的时候弹出一个进度条对话框,当处理完毕关闭 progressdialog =ProgressDialog.show(EHRActivity.this, "请等待...", "正在为您登陆..."); refreshHandler.sleep(100); //dialog.cancel(); } }); selfdialog.setButton2("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { selfdialog.cancel(); } }); selfdialog.show(); } }
login.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/txt_loginerror" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="输入的账号和密码不正确" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#ff0000" android:visibility="invisible" /> <TextView android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="账号" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/txt_username" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:text="密码" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/txt_password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/txt_toregister" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:gravity="left" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#2200C1" /> </LinearLayout>
发表评论
-
android 自定义view
2012-04-07 15:54 1607自定义view:1. 继承view,重构构造方法: publi ... -
Android 获取联系人
2012-03-22 17:18 1032Cursor cursor = content ... -
一些常用的控件及其项目实例
2011-12-16 09:49 828下载须知:进入下载页面后,可以点击普通用户进行下载,如图: ... -
listview实例 simpleAdapter自定义列
2011-12-16 09:30 1172listview 利用simpleAdapter自定义列布局, ... -
android音乐播放器开源项目实例
2011-12-16 09:17 1418android音乐播放器开源项目实例,部分效果图如下: ... -
Android QQ登陆界面实例
2011-12-16 09:01 1177QQ登陆效果: 代码下载: -
listview 滑动分页 contextmenu菜单用法
2011-12-15 16:13 2323这节将阐述一个listview 的滑动分页效果,和contex ... -
Spinner 和Menu菜单展示关于退出的用法
2011-12-15 15:40 2935这节接着上一节“自定义登陆弹出框”,我们编写一个spinne ... -
Android 全屏logo 页面
2011-12-15 14:41 3480package com.gk; import andr ...
相关推荐
android自定义弹出框的实现。 平时做项目时,感觉android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个。
android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android自定义弹出框android...
android自定义弹出框实现(修改版).zip
Android 自定义弹出框,自定义取消和确定。
主要为大家详细介绍了Android自定义底部弹出框ButtomDialog,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android自定义弹出框的实现。 平时做项目时,感觉android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个。
一个动态的弹出框,可以做动态提示什么的,自定义布局放入就可以。使用非常简单,并且做了性能上的优化,内存占用较小。但是发现个长时间弹出内存会升高,暂未发现原因
Android自定义弹出多选框实现,实现全选功能,注释比较详细,大家可以直接使用。欢迎大家加入Android技术交流群:276454386,多多交流,多提意见。
Flutter高阶技术:如何实现自定义弹出菜单框
自定义实现android弹框
自定义dialog弹出框,通过shape和seleter自定义出自己想要的样式。还有弹出的动画,从不同方向弹出和效果。
自定义下拉弹出框,效果如QQ账号选择时候的下拉列表 使用ListView和PopupWindow实现 PopupWindow // 设置为true,才能获得焦点,其里面的空间才能响应事件 //true if the popup can be focused, false otherwise ...
Android自定义弹出对话框
Android 自定义日期选择框
android 自定义弹出框。dialog
具体使用方法参考:http://blog.csdn.net/gaojinyu521748/article/details/37833305
Android 自定义Spinner样式的 选择框背景,选择框文字属性,弹出框文字属性
系统返回键 弹出自定义弹出框 Window
Android 自定义 弹框,日期选择器 弹框,年月日,时分,