2016-08-29 32 views
-3

當我點擊的EditText enter image description here 最後輸入手機號碼 enter image description here如何編輯這樣的文本?

如何使EditText上這樣,在android系統與國家代碼移動進入? 如果有人知道這個代碼,請提前分享和感謝所有人。

該圖像中
+1

你有什麼已經嘗試過?如果您嘗試過某些操作,請編輯您的問題以包含您的代碼。如果沒有,請在提出SO問題之前嘗試自己解決問題,因爲我們不會爲您編寫代碼。 –

+0

檢查我的答案 –

回答

0

使用2編輯框,一個用於獲得第一3號(國家代碼)和另一個用於得到其它數目

+0

怎麼做中線和頂部的文本「手機號碼」和下劃線 –

+0

@EbinFrancis與寬度1DP垂直短線採取視圖,高度你所需要的。對於水平線寬度,你需要的高度1dp – Bahu

0

實施例,用於將國家代碼3位像91或61

boolean isDeletePressed; 

    edittext.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View view, int i, KeyEvent keyEvent) { 
      isDeletePressed = (i == KeyEvent.KEYCODE_DEL); 
      return false; 
     } 
    }); 




edittext.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void afterTextChanged(Editable editable) { 



      if (editable.toString().length() == 3) { 
       if (!isDeletePressed) { 
        edittext.setText(edittext.getText().toString() + "|"); 
        edittext.setSelection(edittext.getText().toString().length()); 
       } 
      } else if (editable.toString().length() == 4) { 
       if (!(editable.toString().charAt(3) == '|')) { 
        edittext.setText(edittext.getText().toString().substring(0, 3) + "|" + edittext.getText().toString().substring(3)); 
        edittext.setSelection(edittext.getText().toString().length()); 
       } 
      } 

     } 
    }); 
0

更新答:

Youtube Demo

public class MainActivity extends AppCompatActivity { 

    Context context; 
    String Crcode = "+ 971" + "|"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     context = this; 

     TextView code = (TextView) findViewById(R.id.textView2); 
     code.setText(Crcode); 

     EditText number = (EditText) findViewById(R.id.editText); 
     number.setText(" 2 877 2877"); 
     number.setSelection(number.getText().length()); 
    } 
} 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/base" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:background="@color/white" 
    android:orientation="horizontal" 
    android:weightSum="10"> 


    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:text="Mobile Number" /> 


    <LinearLayout 
     android:id="@+id/linearLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/textView" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="+971 | " 
      android:textColor="#111111" 
      android:textSize="20dp" /> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:background="@null" 
      android:ems="10" 
      android:inputType="phone" 
      android:text=" 2 877 2877" 
      android:textColor="#111111" 
      android:textSize="20dp" /> 


    </LinearLayout> 

    <View 
     android:id="@+id/View2" 
     android:layout_width="wrap_content" 
     android:layout_height="1dp" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/linearLayout" 
     android:layout_marginTop="5dp" 
     android:layout_toEndOf="@+id/textView" 
     android:background="#111111" /> 


</RelativeLayout> 
+0

不喜歡這個男人這是類型我需要當我編號鍵入編輯文本視圖更改像這樣 –

+0

添加editext觀察者並添加您的預先修復代碼。 –

+0

@EbinFrancis檢查更新答案。 –

0

enter image description here

試試這個下面的XML代碼。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Mobile Number"/> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="+971" 
     android:id="@+id/number" 
     android:cursorVisible="false" 
     android:textSize="20sp"/> 
    <View 
     android:layout_width="2dp" 
     android:layout_height="40dp" 
     android:background="@android:color/darker_gray"/> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Enter number" 
      android:id="@+id/ed2" 
      android:cursorVisible="true" 
      android:layout_gravity="top" 
      android:textSize="20sp"> 
    </EditText> 
</LinearLayout>