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的更多相关文章
随机推荐
- Ubuntu上搭建Watir-Webdriver与Cucumber环境
本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...
- MSP430F149流水灯闪烁以及数码管的显示
今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结 ...
- bzoj 1060 [ZJOI2007]时态同步(树形DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1060 [题意] 求最少的增加量,使得以rt为根的树中由一个结点出发的所有到叶子结点的路 ...
- 题目1023:EXCEL排序(多关键字+快排+尚未解决)
http://ac.jobdu.com/problem.php?pid=1023 题目描述: Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行“Ca ...
- 基于Ubuntu14.10的Hadoop+HBase环境搭建
本篇博文中谈及的Hadoop和HBase都是单机版,简单了解. 首先在Ubuntu上搭建Hadoop开发环境,主要参考另外一篇博客,仔细照做并解决出现的问题即可. 地址:http://www.powe ...
- 自编译安装nginx
1. 下载nginx,并解压 http://nginx.org/ 2. 下载health check模块 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 1 ...
- POJ2486 - Apple Tree(树形DP)
题目大意 给定一棵n个结点的树,每个结点上有一定数量的苹果,你可以从结点1开始走k步(从某个结点走到相邻的结点算一步),经过的结点上的苹果都可以吃掉,问你最多能够吃到多少苹果? 题解 蛋疼的问题就是可 ...
- 2-SAT模板
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAFCUlEQVR42n2VeVCUdRzGf3n0T/80ld
- 如何为可扩展系统进行Java Socket编程
从简单I/O到异步非阻塞channel的Java Socket模型演变之旅 上世纪九十年代后期,我在一家在线视频游戏工资工作,在哪里我主要的工作就是编写Unix Unix Berkley Socket ...
- Property cannot be found on forward class object?
I have a UIView and I'm trying to set its layer properties. self.colorSwatch = [[UIView alloc] initW ...