- 浏览: 78942 次
- 性别:
- 来自: 深圳
文章分类
最新评论
这节接着上一节“自定义登陆弹出框”,我们编写一个spinner,和点击Menu菜单查看关于与退出的操作
效果如图:
静态效果
选择spinner:
点击手机上的Menu按钮效果:
点击Menu关于选项:
点击退出:
提交数据弹出等待框:
代码:
package com.gk.view; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.app.ActivityManager; 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.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import com.gk.R; import com.gk.model.Agent; public class mainview extends Activity implements OnItemSelectedListener,OnClickListener{ private TextView mytextview; private Spinner myspinner; private String[] items ={"未完成","已完成"}; private ArrayAdapter<String> ad; private ImageButton seachbutton; private ImageView outview; private EditText expertxt; private String itemvalue=""; private List<NameValuePair> params; private ProgressDialog progressdialog; private AlertDialog comfirmDialog; private AlertDialog about; private String expername; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mainview); //setContentView(R.layout.mainview);//设置布局 //这里是登陆传递过来的对象,看不懂的话看看上一节吧,主要是用来取出登陆的用户名,显示在节目上 //Agent agent = (Agent) getIntent().getSerializableExtra("agentvalue"); Bundle bundle = getIntent().getExtras(); Agent agent = (Agent) bundle.get("agent"); //要使用spinner需要实现OnItemSelectedListener接口 mytextview =(TextView) findViewById(R.id.textviewtitle); mytextview.setText("当前用户:"+agent.getAgentname()); myspinner =(Spinner) findViewById(R.id.mySpinner); //创建适配器 ad =new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,items); ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); myspinner.setAdapter(ad); myspinner.setOnItemSelectedListener(this);//实现监听器 seachbutton =(ImageButton) findViewById(R.id.seachbutton); seachbutton.setOnClickListener(this); expertxt = (EditText) findViewById(R.id.txt_expert); expertxt.setText("xxxx");//这里为了测试方便,写上默认值 outview =(ImageView) findViewById(R.id.outview); outview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder ad = new AlertDialog.Builder(mainview.this); ad.setTitle("提示"); ad.setMessage("确认退出吗?"); comfirmDialog=ad.create(); comfirmDialog.setButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //退出系统 ActivityManager activityManager=(ActivityManager) mainview.this.getSystemService(ACTIVITY_SERVICE); activityManager.restartPackage("com.gk"); } }); comfirmDialog.setButton2("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { comfirmDialog.cancel();//取消 } }); comfirmDialog.show();//显示对话框 } }); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //mytextview.setText(items[position]); itemvalue =items[position]; System.out.println("selected:"+items[position]); } @Override public void onNothingSelected(AdapterView<?> parent) { } @Override //seachbutton点击事件 public void onClick(View v) { //itemvalue expername = expertxt.getText().toString(); System.out.println(itemvalue+" "+expername); //组装参数 params =new ArrayList<NameValuePair>(); String ov; progressdialog =ProgressDialog.show(mainview.this, "请等待...", "正在提交..."); params.add(new BasicNameValuePair("overflag", itemvalue)); params.add(new BasicNameValuePair("consultationexpert", expername)); seachr.sleep(100); } private seachHandler seachr =new seachHandler(); class seachHandler extends Handler{ @Override public void handleMessage(Message msg) { try{ Intent intent =new Intent(); intent.setClass(mainview.this, taskView.class); intent.putExtra("overflag", itemvalue); //将查询参数传递到下一个Activity让它进行查询 intent.putExtra("consultationexpert", expername); mainview.this.startActivity(intent); Toast.makeText(mainview.this, "提交完毕", Toast.LENGTH_SHORT).show(); }catch(Exception e){ e.printStackTrace(); }finally{ progressdialog.dismiss(); } } //设置消失的时间 public void sleep(long delayMillis){ this.removeMessages(0); sendMessageDelayed(obtainMessage(0), delayMillis); } } //Menu需要实现的两个方法 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 1, "关于"); menu.add(0, 2, 2, "退出"); return super.onCreateOptionsMenu(menu); } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.about, null); if(item.getItemId() == 1){ AlertDialog.Builder ad =new AlertDialog.Builder(this); ad.setTitle("关于"); ad.setView(view); about = ad.create(); about.setButton("关闭", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { about.cancel(); } }); about.show(); }else{ ActivityManager activityManager=(ActivityManager) mainview.this.getSystemService(ACTIVITY_SERVICE); activityManager.restartPackage("com.gk"); //com.gk是项目的默认包 看看你R.java的所在包就是他了 //要实现退出系统还需要在AndroidManifest.xml文件里注册一个权限 // <uses-permission android:name="android.permission.RESTART_PACKAGES"/> } return super.onMenuItemSelected(featureId, item); } }
布局文件:
about.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="fill_parent" android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="关于的内容xxxxx"/> </LinearLayout> mainview.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="fill_parent" android:background="@drawable/bg" android:orientation="vertical" > <ImageView android:id="@+id/outview" android:layout_width="fill_parent" android:layout_height="63dip" android:background="@drawable/title"/> <LinearLayout android:layout_width="fill_parent" android:background="@drawable/content" android:layout_height="203dip" android:gravity="center_vertical" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView 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="#78B52E" /> <Spinner android:id="@+id/mySpinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="0dip" android:layout_marginRight="20dip" android:layout_weight="0.26" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:textColor="#78B52E" android:gravity="left" android:text="专家姓名:" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/txt_expert" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="0dip" android:layout_marginRight="20dip" android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="right" > <ImageButton android:id="@+id/seachbutton" android:layout_width="100dip" android:layout_height="40dip" android:layout_marginRight="20dip" android:background="@drawable/seach" android:text="查 询" /> </LinearLayout> </LinearLayout> <TextView android:id="@+id/textviewtitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout>
发表评论
-
android 自定义view
2012-04-07 15:54 1611自定义view:1. 继承view,重构构造方法: publi ... -
Android 获取联系人
2012-03-22 17:18 1036Cursor cursor = content ... -
一些常用的控件及其项目实例
2011-12-16 09:49 830下载须知:进入下载页面后,可以点击普通用户进行下载,如图: ... -
listview实例 simpleAdapter自定义列
2011-12-16 09:30 1175listview 利用simpleAdapter自定义列布局, ... -
android音乐播放器开源项目实例
2011-12-16 09:17 1420android音乐播放器开源项目实例,部分效果图如下: ... -
Android QQ登陆界面实例
2011-12-16 09:01 1177QQ登陆效果: 代码下载: -
listview 滑动分页 contextmenu菜单用法
2011-12-15 16:13 2327这节将阐述一个listview 的滑动分页效果,和contex ... -
android 自定义登陆弹出框
2011-12-15 15:09 16668从本节将开始阐述一个完整系统Demo,从登陆--主页--查 ... -
Android 全屏logo 页面
2011-12-15 14:41 3481package com.gk; import andr ...
相关推荐
Spinner下拉菜单多选,在布局xml文件直接作为控件使用,在activity里面调用就行了
spinner 下拉菜单源码
android studio,demo,Spinner下拉菜单多选的实现,android studio3.0.1的环境下使用。
android 下拉菜单spinner几种使用方法解释
本文实例讲述了Android spinner下垃菜单用法。分享给大家供大家参考,具体如下: 一、使用数组作为数据源 1. 在layout布局文件:声明一个TextView控件和一个Spinner控件,代码如下 <Spinner android:id=@+id/...
spinner+popupwindow 实现折叠菜单 1分大放送了。
实现二级联动下拉菜单功能,点击选中后对应输出省市名称
Android Spinner控件简单使用方法,图片加文字的展示效果
Spinner自定义xml的样式,需要的用
android自定义Spinner下拉菜单(下拉列表框)样式
在这个例子中包括了众多Android Spinner 控件的用法,以一个下拉框的效果来展示很多Spinner 的使用技巧,示例中的myspinner_dropdown自定义下拉菜单模式定义在res/layout目录下,代码中演示了将ArrayAdapter添加...
在spinner上添加删除项,删除选中的spinner选项,添加的新选项到spinner的最后一项,下拉框停留在新添加的好的选项上
android 动态添加删除的Spinner菜单 ArrayList与Widget的依赖性
Android UI设计 下拉菜单Spinner用法
使用spinner实现简单的计算功能,适合新手练习
使用的Spinner,自然在Android中也可以实现,而且很简单,下面的代码将教你一步一步的使用Spinner,由于代码在代码中已经有很多注释,故我这边就不多写了,看官看代码就知其意了。教程见:...
而对于Spinner加载适配器的方法有多种: 1.直接加载android自带的ArrayAdapter,SimpleAdapter; 2.自定义继承BaseAdapter的适配器。 对于适配器加载自定义的xml布局文件,修改该Spinner样式较简单,就是在定义的xml...
Android的Spinner示例,展示Spinner的使用方法。
SpinnerTest 代码
修改spinner字体大小及颜色,及点击下拉列侯弹出的列表样式