本篇文章给大家谈谈autocomplete=“off”是否与所有现代浏览器兼容?,以及auto.js浏览器的知识点,同时本文还将给你拓展AndroidAutoCompleteTextView和Mult
本篇文章给大家谈谈autocomplete =“ off”是否与所有现代浏览器兼容?,以及auto.js浏览器的知识点,同时本文还将给你拓展Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容、Android 控件之 AutoCompleteTextView、MultiAutoCompleteTextView 探究、Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView、android学习笔记26--------------AutoCompleteTextView 与 MultiAutoCompleteTextView等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- autocomplete =“ off”是否与所有现代浏览器兼容?(auto.js浏览器)
- Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容
- Android 控件之 AutoCompleteTextView、MultiAutoCompleteTextView 探究
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
- android学习笔记26--------------AutoCompleteTextView 与 MultiAutoCompleteTextView
autocomplete =“ off”是否与所有现代浏览器兼容?(auto.js浏览器)
我刚刚被要求防止浏览器保存输入到特定表单字段中的数据。我从事Web开发已经有好几年了,这是一个相对较新的功能。我能够找到表单字段属性autocomplete=“ off”,但似乎找不到任何文档说明哪些浏览器支持它。谁能指出我表单属性和浏览器兼容性图表的正确方向?
答案1
小编典典请注意,所有主流浏览器都在忽略密码字段的属性。
我只能提供轶事证据,但是我还没有遇到过一个不尊重的浏览器autocomplete="off"
,这种体验包括:
- Firefox 1.5+(Windows和Ubuntu)
- Opera 6+(Windows和Ubuntu)
- Chrome v2 +(Windows和Ubuntu)
- 主显节0.8(ish)(Ubuntu)
- Midori(我不记得哪个版本)
- Safari v1 +(Windows)
- IE 4-8,Windows。
我知道Greasemonkey脚本以及大概其他用户脚本可以禁用该autocomplete
设置。
Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容
AutoCompleteTextView MultiAutocompleteTextView
这两个控件长的很相似,功能也很相似。
AutoCompleteTextView
-
功能:
动态匹配输入的内容,如百度搜索引擎当输入文本时
可以根据内容显示匹配的热门信息。
-
独特属性
android:completionThreshold="2" // 收入两个字符后自动匹配
---- 设置输入多少字符时自动匹配
那我们来看一下如何实现 AutoCompleteTextView 自动匹配。
-
XML 创建控件:
1 <AutoCompleteTextView 2 android:id="@+id/textview1" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" 5 android:completionThreshold="2" 6 android:hint="AutoCompleteTextView" />
-
Java 代码关联并实现:
1 /* 2 * 第一步: 初始化控件 3 * 第二步: 需要一个适配器 4 * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容 5 * 第四步: 将adapter与当前AutoCompleteTextView绑定 6 * 7 */ 8 9 acTextView = (AutoCompleteTextView) findViewById(R.id.textview1); 10 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 11 android.R.layout.simple_list_item_1, res); 12 acTextView.setAdapter(adapter); 13
-
让我们调试下,功能已经实现了。
MultiAutocompleteTextView
-
功能:
可支持多个值(在多次输入的情况下),分别用分隔符分开, 并且在每个值选中的时候再次输入值时会自动去匹配,
可用在发短信,发邮件时选择联系人这种类型当中。
-
独特属性:
android:completionThreshold="2" // 收入两个字符后自动匹配
---- 设置输入多少字符时自动匹配
-
设置分隔符
Mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
可以用这个方法设置,分隔
1>XML 创建控件:
1 <MultiAutoCompleteTextView
2 android:id="@+id/textview2"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content"
5 android:layout_below="@id/textview1"
6 android:layout_marginTop="10dp"
7 android:hint="MultiAutoCompleteTextView" />
2>Java 代码关联并实现:
1 /*
2 * 第一步: 初始化控件
3 * 第二步: 需要一个适配器
4 * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容
5 * 第四步: 将adapter与当前AutoCompleteTextView绑定
6 * 第五步: 设置分隔符
7 *
8 */
9 macTextView = (MultiAutoCompleteTextView) findViewById(R.id.textview2);
10 macTextView.setAdapter(adapter);
11 //设置以逗号为分隔符为结束的符号
12 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
3 > 让我们调试下,功能已经实现了。
这两个自动匹配的就做到这里了。这就是这两个自动匹配的用法。
这是我写的 Demo:https://pan.baidu.com/s/1DxUoDTdhbL5kosXTx5S6Pw
原文出处:https://www.cnblogs.com/MrChen-/p/10313890.html
Android 控件之 AutoCompleteTextView、MultiAutoCompleteTextView 探究
在 Android 中提供了两种智能输入框,它们是 AutoCompleteTextView、MultiAutoCompleteTextView。它们的功能大致一样。显示效果像 Google 搜索一样,当你在搜索框里输入一些字符时(至少两个字符),会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。
一、AutoCompleteTextView
1、简介
一个继承自 EditView 的可编辑的文本视图,能够实现动态匹配输入的内容。如 google 搜索引擎当输入文本时可以根据内容显示匹配的热门信息。
2、重要方法
clearListSelection ():清除选中的列表项
dismissDropDown():如果存在关闭下拉菜单
getAdapter():获取适配器
二、MultiAutoCompleteTextView
1、简介
一个继承自 AutoCompleteTextView 的可编辑的文本视图,能够对用户键入的文本进行有效地扩充提示,而不需要用户输入整个内容。(用户输入一部分内容,剩下的部分系统就会给予提示)。
用户必须提供一个 MultiAutoCompleteTextView.Tokenizer 用来区分不同的子串。
2、重要方法
enoughToFilter():当文本长度超过阈值时过滤performValidation():代替验证整个文本,这个子类方法验证每个单独的文字标记
setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer 设置将用于确定文本相关范围内
以下为案例
main.xml 布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<AutoCompleteTextView android:id="@+id/autoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

TextViewActivity 类

package com.ljq.activity;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public
class TextViewActivity
extends Activity {
//
福建九地市
private
static
final String[] cities=
new String[]
{"FuZhou", "XiaMen", "NiDe", "PuTian","QuanZhou", "ZhangZhou", "LongYan", "SanMing","NanPing"};
private AutoCompleteTextView autoCompleteTextView=
null;
private MultiAutoCompleteTextView multiAutoCompleteTextView=
null;
@Override
public
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
multiAutoCompleteTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);
//
创建适配器
ArrayAdapter<String> adapter=
new ArrayAdapter<String>(
this,
android.R.layout.simple_dropdown_item_1line,
cities);
autoCompleteTextView.setAdapter(adapter);
//
设置输入多少字符后提示,默认值为2
autoCompleteTextView.setThreshold(2);
multiAutoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setThreshold(2);
//
用户必须提供一个MultiAutoCompleteTextView.Tokenizer用来区分不同的子串。
multiAutoCompleteTextView.setTokenizer(
new MultiAutoCompleteTextView.CommaTokenizer());
}
}

运行结果
Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
以在搜索框搜索时,自动补全为例:
其中还涉及到一个词,Tokenizer:分词器,分解器。
上效果图:
MainActivity.java:
package com.joan.testautocomletetextview; import android.R.array; import android.os.Bundle; import android.app.Activity; import android.content.res.Resources; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; import android.widget.MultiAutoCompleteTextView.Tokenizer; public class MainActivity extends Activity { AutoCompleteTextView actv; MultiAutoCompleteTextView mactv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actv = (AutoCompleteTextView) findViewById(R.id.actv); mactv = (MultiAutoCompleteTextView) findViewById(R.id.mactv); // 取到Strings.xml中定义的数组 String[] names = this.getResources().getStringArray(R.array.names); // 适配器 // 第三个参数是数据源 // 第二个参数是样式资源的id ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,names); // =============只能选择单个的自动补全===================== actv.setAdapter(adapter); // =============可选择多个的自动补全===================== // Tokenizer分词器,分解器 // MultiAutoCompleteTextView.CommaTokenizer();这个简易的分解器可用于对由逗号和若干空格分割的列表进行分解. Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer(); mactv.setAdapter(adapter); mactv.setTokenizer(t); } }
strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">TestAutocompleteTextView</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello World!</string> <!--定义一个数组 --> <string-array name="names"> <item >zhangyu</item> <item >zhangxinzhe</item> <item >zhangxingxing</item> <item >liudehua</item> <item >liuyi</item> </string-array> </resources>
activity_main.xml:
<LinearLayout 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:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="只可选择单个" /> <!--AutoCompleteTextView 自动补全,只能选择一个值 android:completionThreshold="1" 输入第一个字后自动补全 --> <AutoCompleteTextView android:id="@+id/actv" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入搜索的名字" android:completionThreshold="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="可选择多个" /> <!--MultiAutoCompleteTextView 可以选择多个值 --> <MultiAutoCompleteTextView android:id="@+id/mactv" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入搜索的名字" android:completionThreshold="1" /> </LinearLayout>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程小技巧!
android学习笔记26--------------AutoCompleteTextView 与 MultiAutoCompleteTextView
1、简介
在我们平常上网的时候经常会用到谷歌或百度,在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,非常方便。这种效果在Android中是用AutoCompleteTextView实现的AutoCompleteTextView是一个可以编辑的文本view,当用户键入时,会自动显示完成建议信息。
建议列表显示在下拉列表框中,可以选中某项代替编辑框里的内容。
当用户点击回车键时,或者什么也没有选中点击ENTER建时下拉列表会自动消失。
建议列表是从一个数据适配器获取的数据。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.AdapterView.OnItemClickListener;
public class AutoActivity extends Activity
{
private AutoCompleteTextView autoCompleteTextView = null;
private final String[] Citys = new String[]
{
"Belgium", "France", "Italy", "Germany", "Spain", "Sppp", "Itaggg"
};
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.AutoCompleteTextView);
// 配置设配器
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
AutoActivity.this,
android.R.layout.simple_dropdown_item_1line, Citys);
autoCompleteTextView.setAdapter(arrayAdapter);
autoCompleteTextView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
System.out.println(autoCompleteTextView.getText().toString());
}
});
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<AutoCompleteTextView
android:id="@+id/AutoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
/>
</LinearLayout>
补充:
completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
dropDownWidth:设置自动提示列表的宽度。
public class MultiAutoCompleteTextViewActivity extends Activity
{
private MultiAutoCompleteTextView autoCom = null;;
private Button btnClear = null;
private String[] normalString = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
normalString = new String[]
{ "android", "android sxp", "sxp", "sxp wx" };
autoCom = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
btnClear = (Button) findViewById(R.id.btn);
// simple_dropdown_item_1line
// 简单的一些样式,貌似是自定义的
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, normalString);
autoCom.setAdapter(adapter);
// setTokenizer(); // Sets the Tokenizer 标记生成器 that will be used to
// determine the relevant range of the text where the user is typing. //
// CommaTokenizer(): // 这个简易的组件可以用于一些列表中,这些列表包含被逗号以及一个或数个空格断开的项目。 //
// 不太理解,这个方法不加的话没法自动完成文本;添加的话又觉得是废话,列表当然以逗号分隔了
autoCom.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
btnClear.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
autoCom.setText("");
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="请输入"
android:textSize="20px" ></TextView>
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView"
android:layout_width="260px"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="清除" > </Button>
</LinearLayout>
AutoCompleteTextView 与 MultiAutoCompleteTextView的区别:
AutoCompleteTextView 只匹配一次
MultiAutoCompleteTextView可以匹配多次
原文链接: http://blog.csdn.net/yf210yf/article/details/7274640
今天的关于autocomplete =“ off”是否与所有现代浏览器兼容?和auto.js浏览器的分享已经结束,谢谢您的关注,如果想了解更多关于Android AutoCompleteTextView 和 MultiAutocompleteTextView 实现动态自动匹配输入的内容、Android 控件之 AutoCompleteTextView、MultiAutoCompleteTextView 探究、Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView、android学习笔记26--------------AutoCompleteTextView 与 MultiAutoCompleteTextView的相关知识,请在本站进行查询。
本文标签: