2014-02-25 27 views
-2

基於此問題的答案Enforcing Input Method of Edit Text我已閱讀不可能使用特定鍵盤作爲編輯文本,但可以取消使用鍵盤或禁用彈出式鍵盤當用戶點擊一個編輯文本時。我有這個編輯文本,我想輸入數值,我有一個自定義的數字鍵盤墊編輯我把它放在數字0 - 9在一個按鈕,這樣,當我點擊編輯文本框光標會出現在文本上,然後我必須點擊按鈕才能在編輯文本上輸入特定按鈕的值。我一直在尋找解決方案,但現在我似乎找到了解決方案。禁用編輯文本中的鍵盤單擊

XML代碼

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#ffffff" 
    android:orientation="vertical" > 
<LinearLayout 
    android:layout_margin="15dp" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/login" 
    android:orientation="vertical" > 
     <LinearLayout 
      android:baselineAligned="false" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="3dp" 
      android:orientation="horizontal"> 
      <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight=".30" 
      android:layout_height="wrap_content" 
      android:orientation="vertical">    
      <EditText 
       android:id="@+id/previousscore_lbl_score" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/labeltextbox" 
       android:textColor="#000000" 
       android:gravity="center" 
       android:clickable="false" 
       android:cursorVisible="false" 
       android:focusable="false" 
       android:focusableInTouchMode="false" 
       android:inputType="none" 
       android:text="meter" /> 
      </LinearLayout> 
      <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight=".20" 
      android:layout_height="wrap_content" 
      android:orientation="vertical">    
      <EditText 
       android:id="@+id/previousscore_txt_score" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/edittextbox" 
       android:textColor="#000000" 
       android:gravity="center" 
       android:inputType="number" 
       android:text="@string/one" /> 
      </LinearLayout> 
      <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight=".30" 
      android:layout_height="wrap_content" 
      android:orientation="vertical">    
      <EditText 
       android:id="@+id/previousscore_lbl_putt" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/labeltextbox" 
       android:textColor="#000000" 
       android:gravity="center" 
       android:clickable="false" 
       android:cursorVisible="false" 
       android:focusable="false" 
       android:focusableInTouchMode="false" 
       android:inputType="none" 
       android:text="inches" /> 
      </LinearLayout> 
      <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight=".20" 
      android:layout_height="wrap_content" 
      android:orientation="vertical">    
      <EditText 
       android:id="@+id/previousscore_txt_putt" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/edittextbox" 
       android:textColor="#000000" 
       android:gravity="center" 
       android:inputType="number" 
       android:text="@string/one" /> 
      </LinearLayout>             
     </LinearLayout> 
     <GridLayout 
      android:id="@+id/numerickeypad" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_marginTop="5dp" 
      android:orientation="horizontal" 
      android:columnCount="10" 
      android:rowCount="9" > 

      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/one" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/two" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/three" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/four" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/five" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/six" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/seven" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/eight" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/nine" /> 
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/zero" />  
      <Button 
       android:layout_columnSpan="3" 
       android:layout_gravity="fill" 
       android:layout_rowSpan="2" 
       android:text="@string/dialogc" />        


      <Space 
       android:layout_width="32dp" 
       android:layout_column="0" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="1" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="2" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="3" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="4" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="5" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="6" 
       android:layout_row="8" /> 

      <Space 
       android:layout_width="32dp" 
       android:layout_column="7" 
       android:layout_row="8" /> 
      <Space 
       android:layout_width="32dp" 
       android:layout_column="8" 
       android:layout_row="8" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="0" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="1" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="2" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="3" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="4" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="5" /> 

      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="6" /> 
      <Space 
       android:layout_height="32dp" 
       android:layout_column="9" 
       android:layout_row="7" /> 



      </GridLayout>  
      <LinearLayout 
       android:baselineAligned="false" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:background="@drawable/login"> 
       <Button 
        android:id="@+id/dialogbox_buttoncancel" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:layout_marginTop="10dp" 
        android:background="@drawable/selector" 
        android:text="@string/cancel" /> 
       <Button 
        android:id="@+id/dialogbox_buttonsave" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:layout_marginTop="10dp" 
        android:background="@drawable/selector" 
        android:text="@string/save" /> 

      </LinearLayout>  
</LinearLayout> 
</LinearLayout> 
+0

如果您展示了代碼並確定了您確實存在問題,那麼我們可以提供更快的幫助。 –

+0

即時通訊製作計算器喜歡活動,我有一個文本和下面的幾個按鈕我想要做的是當我點擊編輯文本我不想軟鍵盤(設備的鍵盤顯示)我想要什麼是爲用戶使用我放在編輯文本下方的按鈕,所以我想知道是否可以禁用軟鍵盤,以便用戶將不得不使用下面的按鈕來輸入數字值 – Giant

回答

1

如果您想使用EditText,嘗試android:editable="false"

更好的方法可能是使用TextView組件。這樣,每次用戶按下按鈕時都可以使用setText()。這種方法假定您不希望用戶直接編輯該字段。

+0

我想過使用textview,但下面會是用戶無法區分用戶是在第一個文本視圖上鍵入還是用戶在第二個。我需要通過使用edittext來告訴用戶他是第一個這樣即時通訊,以便他可以看到光標處於開啓狀態第一個編輯文本,然後他現在可以按他想要放入編輯文本的編號 – Giant

+0

您可以嘗試一些UI更改以向用戶表明。例如,更改邊框顏色。 –

0

我知道你想要取消在EditText上點擊事件並彈出系統鍵盤。 如果是這樣,試試這個!

yourTextView.setInputType(0);