android 弹出菜单 toast,Android学习第二天:Toast(提醒)、Menu(菜单)、Intent的显式和隐式(包括打开、适配网站,调用拨号界面等)...
1.Toast提醒
为昨天写的按钮程序添加一个提醒,在MainActivity中添加如下代码:
Button bt1 = (Button) findViewById(R.id.button_1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "您点击了按钮1", Toast.LENGTH_SHORT).show();
}
});
findViewById()方法用于获得布局文件文件中的元素,值通过属性Id指定。(该返回值是View对象,需要转成Button对象)
setOnClickListener()方法是用于注册监听器,点击执行
makeText()方法需要三个参数,第一个是context(toast要求的上下文,活动本身就是一个context),第二个是显示的内容,第三个是显示的时常。
运行结果如下:
2.Menu菜单
首先在res目录下创建一个menu文件夹,并在文件内创建一个xml文件,命名为main
main.xml文件中代码如下:
每个item标签为定义一个菜单中的选项
在MainActivity中添加如下代码,重写onCreatOptionsMenu()方法
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
getMenuInflater()方法能够得到MenuInflater对象,再调用inflate()方法可以给当前活动创建菜单。inflate()方法需要两个参数,第一个是从哪个资源文件来创建菜单,第二个用于指定菜单项添加到哪个Menu对象中。(返回值true用于将菜单显示出来)
运行结果如下:
3.为Menu菜单添加监听器
在MainActivity中添加如下代码,重写onOptionsItemSelected()方法
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "您点击了Add按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "您点击了Remove按钮", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
通过item.getItemId()方法来判断点击的是哪个菜单项。
运行结果如下(点击Add):
4.显式Intent
首先再创建一个Activity,命名为SecondActivity
public class SecondActivity extends AppCompatActivity{
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}
在layout中再创建一个xml,命名为activity_second
我让这个新的活动显示Hello World
最后到AndroidManifest中给新的活动注册
为了能够使用第二个活动,将MainActivity中的button的监听器改为:
Button bt1 = (Button) findViewById(R.id.button_1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
}
});
程序运行结果如下(点击按钮Button 1):
Intent()方法需要两个参数,第一个参数context要求提供各一个启动活动的上下文,第二个参数class则是指定想要启动的活动目标。
startActivity()方法用于启动活动,来执行这个Intent。
5.隐式Intent
首先在AndroidManifest中修改刚才注册的SecondActivity:
然后修改MainActivity中的按钮监听器:
Button bt1 = (Button) findViewById(R.id.button_1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("bistu.com.test.ACTION_START");
startActivity(intent);
}
});
然后运行这个程序,跟刚才的显式效果一样。
会发现在监听器中并没有指定category,实际上默认为DEFAULT。
如果在监听器中加上一句“intent.addCategory("bistu.com.test.MY_CATEGORY")”,则会报错,只需要在活动注册中,添加“”即可。
6.更多隐式Intent用法
①.将按钮改为点击打开网页,将MainActivity中的监听器修改为:
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
startActivity(intent);
}
});
运行结果如下:
(点击Button后,用浏览器打开了百度的网站)
通过Uri.parse()方法将王志字符串解析成一个Uri对象,调用Insert的setData()方法将这个Uri对象传递进去。
②.在①的基础上,让这个程序适配网页
修改注册代码为:
点击按钮后:
可以选择用该软件来适配网页(但是不能使用)
③.调用系统拨号界面
将按钮的监听器改为:
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
});
点击button后如下:
android 弹出菜单 toast,Android学习第二天:Toast(提醒)、Menu(菜单)、Intent的显式和隐式(包括打开、适配网站,调用拨号界面等)...相关推荐
- android 弹出编辑框,Android编程实现的EditText弹出打开和关闭工具类
本文实例讲述了Android编程实现的EditText弹出打开和关闭工具类.分享给大家供大家参考,具体如下: 需求: 使用代码实现Android的输入框EditText对键盘的关闭弹出的实现. 代码: ...
- android弹出选择usb,android 解决:默认情况下用于该USB设备 自动获取USB操作权限...
很多android 的应用在使用USB设备时,总会遇到一个很烦人的问题. 即每次都会弹出对话框: 每次插入USB设备,都会弹出.每次选上默认情况下使用该USB设备.但总还是会弹出.用户体验很差. 似乎 ...
- android弹出输入法内存,android 输入法导致内存泄露问题
该方法侵入太高,必须重新EditText,如果我们直接使用一个第三方的控件包含了EditText,那么这么做就没有意义,所以放弃了这种方案,然后我又想出了其他方案,Android 输入法导致内存泄露以 ...
- android弹出键盘高度,Android 解决全面屏 软键盘弹出会有高度约50dp的白条。
效果对比图片先走 解决前效果图 T_X0~JU{WQ2FC1W$M})J%1S.jpg 解决完成后效果图 0EBFD68FC050B16866B81321E0FD9C62.jpg /** * @aut ...
- android 弹出框 list,android - 如何实现点击listpreference 后,弹出一个dialog?
小皮2017-04-17 13:21:011楼 android.preference.ListPreference 源码如下: @Override protected void onPrepareDi ...
- android 弹出对话框时显示键盘
今天,简单讲讲如何在弹出自定义的对话框时,弹出软键盘. 之前,我讲了如何制作自定义的对话框,现在,如果在弹出对话框时,自动弹出软键盘,将光标直接聚焦到自定义对话框的输入框内,那该怎么做呢? 在网上搜索 ...
- android弹出对话框
最近因为项目需求,要在一个service上面弹出一个菜单,菜单响应select事件,所以花了点时间把android弹出Dialog的各种方式都看了一下. 目前学习到的android有三种方式弹出对话框 ...
- android弹出窗口的实现(PopupWindow)
android弹出窗口的实现(PopupWindow) 最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现 ...
- android 键盘将底部视图顶起,android 弹出软键盘将底部视图顶起问题
今天要做一个搜索功能,搜索界面采用AutoCompleteTextView做搜索条,然后下面用listview来显示搜索结果,而我的主界面是在底 部用tab做了一个主界面导航,其中有一个搜索按钮,因为 ...
最新文章
- 分裂游戏(bzoj 1188)
- 数据结构实验——中缀表达式转为后缀表达式
- dell服务器sd卡装系统,DELL服务器通过sd卡安装系统(iDRACUsevFlash).doc
- 我的模块加载系统 v17的入门教程2
- 浅析文件传输协议 (ftp) 的工作原理
- 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...
- 英特尔云计算策略以Nehalem为主
- java怎么看提示错误,Mabatis错误提示Parameter index out of range的处理方法
- 洛谷 1115——最大子段和(线性数据结构)
- Ubuntu源码安装Nginx
- 计算机高等数学试题及答案,北大计算机系考研_历年高等数学真题附答案
- 【机器学习】(七)马尔可夫链、马尔可夫随机场、条件随机场
- c 语言条件运算符,C 语言条件运算符详细讲解
- T-SQL技巧的独孤求败阶段论
- 如何让网站被百度快速收录
- 关于Xray中代理的一些总结
- 4135: [FJOI2015]世界树
- 『ML笔记』梯度下降法和随机梯度下降法和小批量梯度对比
- 想要改变世界的 Rust 语言
- python分行输入_python换行输入
热门文章
- c语言六角填数答案,【蓝桥杯】第五届-6-六角填数
- id3决策树_信息熵、信息增益和决策树(ID3算法)
- c mysql连接池_在LINUX下用C/C++写了一个连接池(访问MYSQL)的类
- MATLAB 长度和像素_MATLAB——单车道NaSch模型
- PHP不读取Excel空行,phpexcel中遇到空单元格不跳过
- java输入流读取几行文本_Java基础笔记Day_16
- win10 linux uefi启动不了系统安装教程,【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装...
- 计算机TXT试题,全国计算机二级试题.txt
- php $y=$x^$y;,PHP语法一
- 利用计算机程序解决问题的基本过程,第四章第一节编制计算机程序解决问题