Android——菜单和进度条

xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.chenshuai.test322.UiActivity2" android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="长按触发上下文菜单"
android:id="@+id/bt_changan"/> <!--进度条 不可拖动 圈-->
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pb_1"
/>
<!--进度条 水平线-->
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:id="@+id/pb_2"
android:max="100"
android:progress="50"
android:secondaryProgress="70"
/>
<!--进度条 可以拖动-->
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="50"
android:id="@+id/sbr_1"
/>
<!--星-->
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="6"
android:rating="4.5"
android:isIndicator="true"/> </LinearLayout>
java
package com.example.chenshuai.test322; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.Toast; /**
* Created by chenshuai on 2016/3/30.
*/
public class UIActivity2 extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ui2); Button bt_changan = (Button)findViewById(R.id.bt_changan);
bt_changan.setOnCreateContextMenuListener(this); //进度条
//final 生命周期为整个类
final ProgressBar pb_1 = (ProgressBar)findViewById(R.id.pb_1);
final ProgressBar pb_2 = (ProgressBar)findViewById(R.id.pb_2); SeekBar sb_1 = (SeekBar)findViewById(R.id.sbr_1); sb_1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { pb_2.setProgress(progress);
} //开始拖动
@Override
public void onStartTrackingTouch(SeekBar seekBar) { } //结束拖动
@Override
public void onStopTrackingTouch(SeekBar seekBar) { pb_2.setProgress(seekBar.getProgress());
if (seekBar.getProgress()==seekBar.getMax())
{
//设置不可见 GONE不占位置 invisible 占位置
pb_1.setVisibility(View.GONE); }
else
{
//可见
pb_1.setVisibility(View.VISIBLE);
} }
});
} //菜单 上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { menu.add(0,1,0,"添加");
menu.add(0, 2, 1, "修改");
menu.add(0,3,2,"删除");
SubMenu m = menu.addSubMenu(0, 4, 3, "子菜单");
m.add(0,4-1,0,"子菜单项一");
m.add(0,4-2,1,"子菜单项二");
m.add(0,4-3,2,"子菜单项三");
m.add(0,4-4,3,"子菜单项四"); super.onCreateContextMenu(menu, v, menuInfo);
} @Override
public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId())
{
case 1:
Toast.makeText(UIActivity2.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(UIActivity2.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(UIActivity2.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
break; }
return super.onContextItemSelected(item);
} @Override
//重写 创建选项菜单的方法
public boolean onCreateOptionsMenu(Menu menu) { //添加菜单项
//第一种 纯编码方式
/*menu.add(0, 1, 0, "添加");
menu.add(0, 2, 2, "删除");
menu.add(0, 3, 1, "修改");
*/
//第二种 加载菜单文件方式 //1.获取一个菜单加载器 MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.menu.mymenu,menu); return super.onCreateOptionsMenu(menu);
} @Override
public boolean onOptionsItemSelected (MenuItem item){ //Toast.makeText(UiActivity2.this, "选中的菜单项是" + item.getTitle(), Toast.LENGTH_SHORT).show(); //根据菜单项不同响应不同功能
switch (item.getItemId()) {
case 1:
Toast.makeText(UIActivity2.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(UIActivity2.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(UIActivity2.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
break;
case R.id.it1:
Toast.makeText(UIActivity2.this, "触发了删除一功能", Toast.LENGTH_SHORT).show();
break;
case R.id.it2:
Toast.makeText(UIActivity2.this, "触发了添加一功能", Toast.LENGTH_SHORT).show();
break;
} return super.onOptionsItemSelected(item); }
}





Android——菜单和进度条的更多相关文章
- Android View 之进度条+拖动条+星级评论条....
PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条... 进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此 ...
- Android 自学之进度条ProgressBar
进度条(ProgressBar)也是UI界面中的一种非常使用的组件,通常用于向用户显示某个耗时完成的百分比.因此进度条可以动态的显示进度,因此避免长时间地执行某个耗时操作时,让用户感觉程序失去了响应, ...
- 【转】24. android dialog ——ProgressDialog 进度条对话框详解
原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...
- 【转】【Android】ProgressDialog进度条对话框的使用
Android ProgressDialog进度条对话框的使用: 转自:http://aina-hk55hk.iteye.com/blog/679134/ <?xml version=" ...
- Android 中带有进度条效果的按钮(Button)
安卓中带有进度条效果的按钮,如下图: 1.布局文件如下activity_main.xml <RelativeLayout xmlns:android="http://schemas.a ...
- Android课程---用进度条改变图片透明度
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...
- [转]Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...
- Android -- 自定义带进度条的按钮
1. 实现了一个带进度条的按钮,完成后显示提示信息,并设置按钮为不可再次被点击
随机推荐
- Docker镜像仓库Harbor之搭建及配置
目录 Harbor介绍环境.软件准备Harbor服务搭建Harbor跨数据复制配置FAQ1.Harbor 介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的 ...
- Codeigniter base_url() 返回的怎么是ip地址
本篇文章由:http://xinpure.com/codeigniter-base-url-to-return-what-is-an-ip-address/ 简单说说情况 虽然也是有一段时间没有用过 ...
- 机器学习中的 ground truth
维基百科关于 ground truth的解释: [Ground truth] 大致为: 在统计学和机器学习中:在机器学习中ground truth表示有监督学习的训练集的分类准确性,用于证明或者推翻某 ...
- IE浏览器中,设置指定程序查看源文件
第一步: 先按Ctrl+R,输入regedit进入注册表 依次找到 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explo ...
- Android应用的自动升级、更新模块的实现
我们看到很多Android应用都具有自动更新功能,用户一键就可以完成软件的升级更新.得益于Android系统的软件包管理和安装机制,这一功能实现起来相当简单,下面我们就来实践一下.首先给出界面效果: ...
- 使用Windbg调试.Net应用程序 [转]
Windbg+Procdump解决w3wp.exe CPU过百问题[转] High CPU Dump收集工具 - ProcDump使用方法[转] ProcDump v9.0[官方] windbg查找c ...
- eclipse生成可执行jar包[转]
相信大家在开发java的时候一定会遇到要求将java工程打包成可运行的jar的需求,今天我在这篇博客中详细讲解一下生成可运行jar的两种方法,亲测完全可行. 1. 工程中不包含第三方的jar包 这种情 ...
- 一、springMVC、freemarker页面半自动静态化
说明:刚刚接到公司的通知,实现(半自动化),即通过参数控制是否需要静态化页面(哪里我说错了,勿喷!谢谢) 1,请求.do的URL时直接生成对应的.htm文件,并将请求转发到该htm文件 2,自由控制某 ...
- 消息队列内核结构和msgget、msgctl 函数
一.消息队列 1.消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 2.每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 3.消息队列与管道不同的是,消息队列是基于 ...
- 【驱动笔记10】再谈IRP
文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34010655.html 这一节会对I ...