您的位置:首页 > 其它

记单词工具拓展引起的选中即复制想法

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: