记单词工具拓展引起的选中即复制想法
2015-09-05 15:25
274 查看
最近一直在考虑如何有效的去扩充英语词汇量,发现China Daily这个应用还不错,在里面点一下,就可以获取到点击的单词,并给出翻译,但是里面的生词不太方便记下来,如果提供一个接口,保存点击过的单词,再保存到类似有道词典这样提供单词本的工具中,将很有用,对其获取的单词进行截取,这是一个思路。
后来,使用webView进行了实验,发现也可以访问网页,如果在这里,不用切换页面,对选中的单词进行保存,如写到一个txt中,也是一个不错的方法。
考虑对选中的单词进行获取保存,这是个高效的方法,现在还没有找到这个实现方法,
这个时候,发现,如果系统支持选中即默认复制,将让用户不再去点击复制,会是一个很有用的设计,因为用户选中文本的目的,极大的可能就是去复制,选中即复制会提供很大的方便。
下面是个获取剪切板内容的例子
package com.example.webtest;
import android.os.Bundle;
import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView1);
mWebView.loadUrl("http://www.chinadaily.com.cn");//
//webView
// WebSettings webSettings = mWebView .getSettings();
// webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放
// webSettings.setLoadWithOverviewMode(true);
// mWebView.setOnDragListener(l)
// mWebView.getContext().getString(resId)
mWebView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.d("test614,", "long press");
ClipboardManager cm =(ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
Log.d("test614", "str=" + cm.getPrimaryClip().toString());
Toast.makeText(getApplicationContext(), cm.getPrimaryClip().toString(),
Toast.LENGTH_SHORT).show();
return false;
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(mWebView.canGoBack())
{
mWebView.goBack();//返回上一页面
return true;
}
else
{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
后来,使用webView进行了实验,发现也可以访问网页,如果在这里,不用切换页面,对选中的单词进行保存,如写到一个txt中,也是一个不错的方法。
考虑对选中的单词进行获取保存,这是个高效的方法,现在还没有找到这个实现方法,
这个时候,发现,如果系统支持选中即默认复制,将让用户不再去点击复制,会是一个很有用的设计,因为用户选中文本的目的,极大的可能就是去复制,选中即复制会提供很大的方便。
下面是个获取剪切板内容的例子
package com.example.webtest;
import android.os.Bundle;
import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView1);
mWebView.loadUrl("http://www.chinadaily.com.cn");//
//webView
// WebSettings webSettings = mWebView .getSettings();
// webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放
// webSettings.setLoadWithOverviewMode(true);
// mWebView.setOnDragListener(l)
// mWebView.getContext().getString(resId)
mWebView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.d("test614,", "long press");
ClipboardManager cm =(ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
Log.d("test614", "str=" + cm.getPrimaryClip().toString());
Toast.makeText(getApplicationContext(), cm.getPrimaryClip().toString(),
Toast.LENGTH_SHORT).show();
return false;
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK)
{
if(mWebView.canGoBack())
{
mWebView.goBack();//返回上一页面
return true;
}
else
{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
相关文章推荐
- 回调函数
- winsock中的gethostname与gethostbyname
- [最小费用最大流]UVa1658
- hdu 5000 dp **
- iphone开发之音频播放类AVAudioPlayer的使用——加纯代码案例
- Eclipse快捷键
- Eclipse快捷键
- grub的简单应用与配置
- jQuery——index()的用法分析
- 关于自己制作的软件被杀毒软件误报的解决办法
- 旋转四元数的理解-凌乱总结
- 二叉树的各种操作
- hdu1506(dp减少重复计算)
- IOS学习笔记1—Iphone程序运行流程
- 关于self.window.rootViewController的方法调用顺序
- 排序算法及其复杂度(JavaScript实现)
- Android 运行中效验文件完整合法性
- 如何减小在VS2013下生的exe文件的大小.
- Hive 1.1.1 启动错误
- Service绑定服务