android自定义edittext样式
‘壹’ android 怎么改变Edittext样式
你可以重写 Edittext 不过这个比较麻烦,简单的实现。制作两种背景图片(普通和获得焦点两种样式),写一个drawbale的xml 。然后设为EditText的背景就ok了
‘贰’ android studio做一个网站输入框
Android Studio 是做App用的,无法做网站输入框,可以做一个类似的在android上,使用控件EditText即可,样式可自定义。
‘叁’ 安卓EditText能不能实现有文字时和无文字时的背景颜色不同
可以实现,自定义一个edittext,对其输入和焦点监听改变背景色就可以了。
/**
* Created by beckett on 2018/4/23.
*/
public class BackgroundEditText extends AppCompatEditText implements View.OnFocusChangeListener, TextWatcher {
private boolean hasFoucs;
public BackgroundEditText(Context context) {
this(context, null);
}
public BackgroundEditText(Context context, AttributeSet attrs) {
this(context, attrs, android.R.attr.editTextStyle);
}
public BackgroundEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private void init() {
// 默认设置隐藏背景
setBackgroundColorVisible(false);
// 设置焦点改变的监听
setOnFocusChangeListener(this);
// 设置输入框里面内容发生改变的监听
addTextChangedListener(this);
}
/**
* 当BackgroundEditText焦点发生变化的时候,
* 输入长度为零,隐藏背景,否则,显示背景
*/
@Override
public void onFocusChange(View v, boolean hasFocus) {
this.hasFoucs = hasFocus;
if (hasFocus) {
setBackgroundColorVisible(getText().length() > 0);
} else {
setBackgroundColorVisible(false);
}
}
protected void setBackgroundColorVisible(boolean visible) {
if(visible){
setBackgroundResource(R.color.colorPrimary); //有文本长度时
}else{
setBackgroundResource(R.color.Transparent); //没有透明
}
}@Override
public void onTextChanged(CharSequence s, int start, int count, int after) {
if (hasFoucs) {
setBackgroundColorVisible(s.length() > 0);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
}
‘肆’ android 自定义的dialog,edit text 不能获得焦点,弹出软键盘。
1、首先自定义布局
2、把自定义布局放入dialog中显示
3、通过自定义布局查找对应的edittext组件
final View DialogView = a .inflate ( R.layout.loand, null);//1、自定义布局
//创建对话框
AlertDialog dlg = new AlertDialog.Builder(loand.this)
.setTitle("登录框")
.setView(DialogView)//设置自定义对话框的样式,2、自定义布局放入dialog中显示
.setPositiveButton("登陆", //设置"确定"按钮
new DialogInterface.OnClickListener() //设置事件监听{
public void onClick(DialogInterface dialog, int whichButton){editText1 =(EditText) DialogView.findViewById(R.id.editText1);
editText2 =(EditText) DialogView.findViewById(R.id.editText2);//3、过自定义布局查找对应的edittext组件
String id = editText1.getText().toString();
String password = editText2.getText().toString();
‘伍’ android 后面代码怎么设置edittext的值
1、EditText输入的文字为密码形式的设置
(1)通过.xml里设置:
把该EditText设为:android:password="true" // 以”.”形式显示文本
(2)在代码里设置:
通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码。
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见。
2、(1)EditText输入的文字为电话号码
Android:phoneNumber=”true” //输入电话号码
3、EditText字数限制的设置
(1)在.xml中设置:android:maxLength=“50”
(2)代码中设置:
editText.setFilters(new InputFilter[]{newInputFilter.LengthFilter(100)});
4、EditText设置字体
android:typeface="monospace" //设置字型。字形有:normal, sans, serif,monospace
5、EditText是否可编辑
Android:editable // 是否可编辑
6、在EditText中软键盘的调起、关闭
(1)EditText有焦点(focusable为true)阻止输入法弹出
editText=(EditText)findViewById(R.id.txtBody);
editText.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
editText.setInputType(InputType.TYPE_NULL); //关闭软键盘
return false;
}
});
(2)当EidtText无焦点(focusable=false)时阻止输入法弹出
InputMethodManager imm =
(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(),0);
(3)调用数字键盘并设置输入类型和键盘为英文
etNumber.setInputType(InputType.TYPE_CLASS_NUMBER); //调用数字键盘
rlEditText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);//设置输入类型和键盘为英文 或者:android:inputType="textUri|textMultiLine"
(4)android:focusable="false"//键盘永远不会弹出
<activity android:name=".AddLinkman"android:windowSoftInputMode="adjustUnspecified|stateHidden"/>//不自动弹出键盘
//关闭键盘(比如输入结束后执行) InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(etEditText.getWindowToken(), 0);
//自动弹出键盘
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
etEditText.requestFocus();//让EditText获得焦点,但是获得焦点并不会自动弹出键盘
7、android:layout_gravity和android:gravity的区别
(1)android:layout_gravity是本元素对父元素的重力方向。
(2)android:gravity是本元素所有子元素的重力方向。
8、android:padding和android:layout_margin区别
这两个都可以设置边距,但有细微的区别:
(1)android:padding是相对父view的边距
(2)android:layout_margin是相对同一级View的边距
例:LinearLayout是水平布局,下面有两个按钮,
(a)如果右边的按钮想距左边的按钮15px,因为这两个按钮是同一级的,应该用android:layout_margin;
(b)如果右边的按钮想距左边的距离为350px,应该用android:padding
9、android:numeric//只接受数字
android:numeric来控制输入的数字类型,一共有三种分别为integer(正整数)、signed(带符号整数,有正负)和decimal(浮点数)。
‘陆’ android怎么改变Edittext样式我想在不改变
方法如下:
1.去掉边框
EditText的background属性设置为@null就搞定了:android:background="@null"
style属性倒是可加可不加。
2.改变边框颜色
代码如下:
[html] view plain
<EditText
android:layout_width="fill_parent"
android:layout_height="36dip"
android:background="@drawable/bg_edittext"
android:padding="5dip"
android:layout_margin="36dip"
android:textColorHint="#AAAAAA"
android:textSize="15dip"
android:singleLine="true"
android:hint="请输入..."
/>
‘柒’ android布局如何实现显示填满整个手机屏幕,EditText如何设置能使其样式不随输入内容太多而发生变化。
填满整个手机屏幕:
在布局文件layout中屏幕父元素内定义如下:
android:layout_width="match_parent"
android:layout_height="match_parent"
EditText设置样式使之不随内容多少而发生变化:
在EditText控件内添加如下定义:
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="8"(自定义,使之固定)
android:singleline="true"
‘捌’ android开发,EditText的边框的颜色怎么设置
EditText的自带属性里没有设置边框颜色的
有俩种方式可以达到效果
一种是网上比较推崇的用图作背景,另一种则是自绘
图作背景的:
首先重新定义一个style。在values文件夹下新建一个style.
xml文件
:
@drawable/my_edittext
接下来在drawable里添...
‘玖’ android怎么改变Edittext样式我想在不改变
mCheckBoxView = (CheckBox) findViewById(R.id.settings_synch_delet); mEditTextView = (EditText) findViewById(R.id.account_password); mCheckBoxView.setOnCheckedChangeListener(checkBox_Listener); private CheckBox.OnCheckedChangeListener checkBox_Listener = new CheckBox.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { if(mCheckBoxView.isChecked()){ //文本正常显示 mEditTextView.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); Editable etable = mEditTextView.getText(); Selection.setSelection(etable, etable.length()); }else{ //文本以密码形式显示 mEditTextView.setInputType(InputType.TYPE_CLASS_TEXT InputType.TYPE_TEXT_VARIATION_PASSWORD); //下面两行代码实现: 输入框光标一直在输入文本后面 Editable etable = mEditTextView.getText(); Selection.setSelection(etable, etable.length()); } } }; 希望能帮到你 帮到你了 请采纳 谢谢