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的显式和隐式(包括打开、适配网站,调用拨号界面等)...相关推荐

  1. android 弹出编辑框,Android编程实现的EditText弹出打开和关闭工具类

    本文实例讲述了Android编程实现的EditText弹出打开和关闭工具类.分享给大家供大家参考,具体如下: 需求: 使用代码实现Android的输入框EditText对键盘的关闭弹出的实现. 代码: ...

  2. android弹出选择usb,android 解决:默认情况下用于该USB设备 自动获取USB操作权限...

    很多android 的应用在使用USB设备时,总会遇到一个很烦人的问题. 即每次都会弹出对话框: 每次插入USB设备,都会弹出.每次选上默认情况下使用该USB设备.但总还是会弹出.用户体验很差. 似乎 ...

  3. android弹出输入法内存,android 输入法导致内存泄露问题

    该方法侵入太高,必须重新EditText,如果我们直接使用一个第三方的控件包含了EditText,那么这么做就没有意义,所以放弃了这种方案,然后我又想出了其他方案,Android 输入法导致内存泄露以 ...

  4. android弹出键盘高度,Android 解决全面屏 软键盘弹出会有高度约50dp的白条。

    效果对比图片先走 解决前效果图 T_X0~JU{WQ2FC1W$M})J%1S.jpg 解决完成后效果图 0EBFD68FC050B16866B81321E0FD9C62.jpg /** * @aut ...

  5. android 弹出框 list,android - 如何实现点击listpreference 后,弹出一个dialog?

    小皮2017-04-17 13:21:011楼 android.preference.ListPreference 源码如下: @Override protected void onPrepareDi ...

  6. android 弹出对话框时显示键盘

    今天,简单讲讲如何在弹出自定义的对话框时,弹出软键盘. 之前,我讲了如何制作自定义的对话框,现在,如果在弹出对话框时,自动弹出软键盘,将光标直接聚焦到自定义对话框的输入框内,那该怎么做呢? 在网上搜索 ...

  7. android弹出对话框

    最近因为项目需求,要在一个service上面弹出一个菜单,菜单响应select事件,所以花了点时间把android弹出Dialog的各种方式都看了一下. 目前学习到的android有三种方式弹出对话框 ...

  8. android弹出窗口的实现(PopupWindow)

    android弹出窗口的实现(PopupWindow)         最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现 ...

  9. android 键盘将底部视图顶起,android 弹出软键盘将底部视图顶起问题

    今天要做一个搜索功能,搜索界面采用AutoCompleteTextView做搜索条,然后下面用listview来显示搜索结果,而我的主界面是在底 部用tab做了一个主界面导航,其中有一个搜索按钮,因为 ...

最新文章

  1. 分裂游戏(bzoj 1188)
  2. 数据结构实验——中缀表达式转为后缀表达式
  3. dell服务器sd卡装系统,DELL服务器通过sd卡安装系统(iDRACUsevFlash).doc
  4. 我的模块加载系统 v17的入门教程2
  5. 浅析文件传输协议 (ftp) 的工作原理
  6. 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...
  7. 英特尔云计算策略以Nehalem为主
  8. java怎么看提示错误,Mabatis错误提示Parameter index out of range的处理方法
  9. 洛谷 1115——最大子段和(线性数据结构)
  10. Ubuntu源码安装Nginx
  11. 计算机高等数学试题及答案,北大计算机系考研_历年高等数学真题附答案
  12. 【机器学习】(七)马尔可夫链、马尔可夫随机场、条件随机场
  13. c 语言条件运算符,C 语言条件运算符详细讲解
  14. T-SQL技巧的独孤求败阶段论
  15. 如何让网站被百度快速收录
  16. 关于Xray中代理的一些总结
  17. 4135: [FJOI2015]世界树
  18. 『ML笔记』梯度下降法和随机梯度下降法和小批量梯度对比
  19. 想要改变世界的 Rust 语言
  20. python分行输入_python换行输入

热门文章

  1. c语言六角填数答案,【蓝桥杯】第五届-6-六角填数
  2. id3决策树_信息熵、信息增益和决策树(ID3算法)
  3. c mysql连接池_在LINUX下用C/C++写了一个连接池(访问MYSQL)的类
  4. MATLAB 长度和像素_MATLAB——单车道NaSch模型
  5. PHP不读取Excel空行,phpexcel中遇到空单元格不跳过
  6. java输入流读取几行文本_Java基础笔记Day_16
  7. win10 linux uefi启动不了系统安装教程,【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装...
  8. 计算机TXT试题,全国计算机二级试题.txt
  9. php $y=$x^$y;,PHP语法一
  10. 利用计算机程序解决问题的基本过程,第四章第一节编制计算机程序解决问题