當前位置:首頁 » 安卓系統 » 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-21 00:51:56 瀏覽:517
php顯示資料庫中圖片 發布:2025-01-21 00:44:34 瀏覽:146
如何在伺服器中找文件 發布:2025-01-21 00:38:50 瀏覽:911
Cmdpython命令 發布:2025-01-21 00:30:38 瀏覽:758
mac常用解壓 發布:2025-01-21 00:01:47 瀏覽:691
linuxcpu使用 發布:2025-01-21 00:00:59 瀏覽:850
成套供應配電櫃有哪些配置 發布:2025-01-21 00:00:52 瀏覽:121
GO編譯器PDF 發布:2025-01-21 00:00:52 瀏覽:704
osu上傳成績 發布:2025-01-20 23:59:57 瀏覽:641
了解sql 發布:2025-01-20 23:58:39 瀏覽:656