Android_CntextMenu_example_textSize
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/textSize_big"
android:title="放大"/>
<item
android:id="@+id/textSize_small"
android:title="缩小"/> </menu>
layout.xml
<RelativeLayout 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=".MainActivity" > <TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="20sp" /> </RelativeLayout>
main.java
package com.example.day10_contextview; import android.os.Bundle;
import android.app.Activity;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.TextView;
import android.widget.Toast; /* contextmenu 作用在view
1.在menu文件的main.xml中编写菜单
2.在activity中创建菜单
在onCreateContextMenu方法中创建
//加载菜单布局
getMenuInflater().inflate(R.menu.main, menu);
3.和view进行绑定
将contextmenu注册到控件
registerForContextMenu(tvHello);
4.触发
长按控件会触发菜单,以对话框的形式展示,点击后自动隐藏 contextmenu和optionsmenu的点击事件都会先触发onMenuItemSelected该方法,
然后该方法再根据menu特征分发到不同的 菜单相应事件,
contextmenu触发onContextItemSelected,
optionsmenu触发onOptionsItemSelected contextmenu对比optionmenu
1.触发条件不一样,optionmenu 点击menu,contextmenu需要长按对应的控件
2.展示,optionmenu 一级菜单在底部展示,二级以对话框展示,contextmenu直接一对话框展示
3.作用点 optionmenu是相对于activity的菜单, contextmenu相对于view
*/
public class MainActivity extends Activity {
private float size ;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.text);
//将contextMenu注册到控件上
registerForContextMenu(textView); }
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
//加载菜单布局
getMenuInflater().inflate(R.menu.main, menu); }
/**
* ContextMenu的点击事件
* 实现字体的放大缩小功能
*/
@Override
public boolean onContextItemSelected(MenuItem item) {
size = textView.getTextSize();
switch (item.getItemId()) {
case R.id.textSize_big:
size += 5;
if(size<50){
textView.setTextSize(size);
Toast.makeText(MainActivity.this, "TextView的字体大小:"+size+"sp", 0).show();
}
break;
case R.id.textSize_small:
size -= 5;
if(size>10){
textView.setTextSize(size);
Toast.makeText(MainActivity.this, "TextView的字体大小:"+size+"sp", 0).show();
break;
}
}
return super.onContextItemSelected(item);
} }
Android_CntextMenu_example_textSize的更多相关文章
随机推荐
- Android样式——Styles
说明 样式(style)是属性的集合,用来指定View或者Window的外观和格式. 这些属性可以是height(高度).padding(内边距).font size(字体颜色)等. 样式定义在另一个 ...
- Breaking parallel loops in .NET C# using the Stop method z
List<, , , , , , , , , }; Parallel.ForEach(integers, (int item, ParallelLoopState state) => { ...
- umask设置导致程序权限不足的问题
这几天邮件告警总是发不了邮件,查看了下zext_msmtp.sh的日志,发现总是提示权限不足…… 于是切换为zabbix的账户,发现在msmtp的目录下连ls都无法执行. 之后发现是umask的问题, ...
- CodeForces 149D Coloring Brackets 区间DP
http://codeforces.com/problemset/problem/149/D 题意: 给一个给定括号序列,给该括号上色,上色有三个要求 1.只有三种上色方案,不上色,上红色,上蓝色 2 ...
- mybatis系列-03-入门程序
3.1 需求 根据用户id(主键)查询用户信息 根据用户名称模糊查询用户信息 添加用户 删除 用户 更新用户 3.2 环境 java环境:jdk1.7.0_79 eclipse mys ...
- Hander
多线程与UI线程间通信 向你展示如何从任务发送数据对象上运行用户界面(UI)线程.该特性允许你的任务做背景的工作结果,然后再到UI元素如位图. 每个应用程序都有自己的特殊的线程运行的UI对象如视图对象 ...
- 使用SecureCRT远程 SSH 登陆 CentOS 和 Ubuntu
1.CentOS下安装SSH 使用下列命令查看当前系统是否已经安装 ssh 和 rsync.rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件. rpm –qa | gre ...
- Django model中 双向关联问题,求帮助
Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助
- php获取post中的json数据的实现方法
最近用到腾讯微博与PHP交互,腾讯把json数据post给PHP(腾讯推送数据时,每条数据是一个json格式的数据包,作为post的数据体(请注意post数据体没有参数,不是key=value形式,整 ...
- python 输出字符串如果遇到字典
>>> d = {'a':1} >>> print '%s' % 1,d 1 {'a': 1} >>> print '%s %s' % 1,d T ...