当前位置:首页 » 安卓系统 » android自定义edittext样式

android自定义edittext样式

发布时间: 2022-10-04 06:25:27

‘壹’ android 怎么改变Edittext样式

你可以重写 Edittext 不过这个比较麻烦,简单的实现。制作两种背景图片(普通和获得焦点两种样式),写一个drawbale的xml 。然后设为EditText的背景就ok了

‘贰’ android studio做一个网站输入框

Android Studio 是做App用的,无法做网站输入框,可以做一个类似的在android上,使用控件EditText即可,样式可自定义。

‘叁’ 安卓EditText能不能实现有文字时和无文字时的背景颜色不同

  1. 可以实现,自定义一个edittext,对其输入和焦点监听改变背景色就可以了。

  2. /**
    * 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如何设置能使其样式不随输入内容太多而发生变化。

  1. 填满整个手机屏幕:

    在布局文件layout中屏幕父元素内定义如下:

    android:layout_width="match_parent"

    android:layout_height="match_parent"

  2. 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()); } } }; 希望能帮到你 帮到你了 请采纳 谢谢

热点内容
安卓模拟大自然怎么玩 发布:2025-01-20 22:46:55 浏览:361
科密加密卡片 发布:2025-01-20 22:45:01 浏览:111
苹果的文件怎么转到安卓 发布:2025-01-20 22:43:10 浏览:652
c语言回文串 发布:2025-01-20 22:43:09 浏览:767
垃圾压缩价格 发布:2025-01-20 22:14:05 浏览:421
温十系统如何看处理器配置 发布:2025-01-20 21:59:47 浏览:302
米号源码 发布:2025-01-20 21:55:30 浏览:893
电信四川dns服务器ip 发布:2025-01-20 21:54:51 浏览:92
电脑弹出脚本错误还能继续使用吗 发布:2025-01-20 21:42:29 浏览:586
安卓私密照片在哪里 发布:2025-01-20 21:41:05 浏览:5