소스 검색

优化键盘

liuzhenxing1118 4 달 전
부모
커밋
01cfd2f91f
2개의 변경된 파일49개의 추가작업 그리고 6개의 파일을 삭제
  1. 42 3
      app/src/main/java/com/sikey/skphone/activity/BaseInputActivity.java
  2. 7 3
      app/src/main/res/layout/activity_input_code.xml

+ 42 - 3
app/src/main/java/com/sikey/skphone/activity/BaseInputActivity.java

@@ -1,6 +1,9 @@
 package com.sikey.skphone.activity;
 
 import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.AbsoluteSizeSpan;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageButton;
@@ -11,7 +14,7 @@ import com.sikey.skphone.R;
 public class BaseInputActivity extends BaseActionActivity {
     public String mInput = "";
     private TextView mTextView = null;
-    private int mInputMax = 32;
+    private final int INPUT_MAX = 32;
 
     protected void onSureClick(String value) {};
 
@@ -25,7 +28,6 @@ public class BaseInputActivity extends BaseActionActivity {
 
     private void initView() {
         mTextView = findViewById(R.id.text);
-
         Button button1 = findViewById(R.id.button1);
         Button button2 = findViewById(R.id.button2);
         Button button3 = findViewById(R.id.button3);
@@ -39,6 +41,7 @@ public class BaseInputActivity extends BaseActionActivity {
         ImageButton buttonOK = findViewById(R.id.buttonOK);
         ImageButton buttonBack = findViewById(R.id.buttonBack);
 
+        //短按
         button1.setOnClickListener(mOnClickListener);
         button2.setOnClickListener(mOnClickListener);
         button3.setOnClickListener(mOnClickListener);
@@ -51,6 +54,24 @@ public class BaseInputActivity extends BaseActionActivity {
         button0.setOnClickListener(mOnClickListener);
         buttonOK.setOnClickListener(mOnClickListener);
         buttonBack.setOnClickListener(mOnClickListener);
+
+        //长按
+        button7.setOnLongClickListener(mOnLongClickListener);
+        button9.setOnLongClickListener(mOnLongClickListener);
+        button0.setOnLongClickListener(mOnLongClickListener);
+        initButton(button7);
+        initButton(button9);
+        initButton(button0);
+    }
+
+    private void initButton(Button button) {
+        String text = button.getText().toString();
+        SpannableString spannableString = new SpannableString(text);
+        spannableString.setSpan(new AbsoluteSizeSpan(30), 0, 1,
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        spannableString.setSpan(new AbsoluteSizeSpan(20), 2, text.length(),
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        button.setText(spannableString);
     }
 
     View.OnClickListener mOnClickListener = new View.OnClickListener() {
@@ -64,7 +85,7 @@ public class BaseInputActivity extends BaseActionActivity {
                     onSureClick(mInput);
                 }
             } else {
-                if (mInput.length() >= mInputMax)
+                if (mInput.length() >= INPUT_MAX)
                     return;
                 mInput += tag;
                 showInputCode();
@@ -72,6 +93,24 @@ public class BaseInputActivity extends BaseActionActivity {
         }
     };
 
+    View.OnLongClickListener mOnLongClickListener = new View.OnLongClickListener() {
+        @Override
+        public boolean onLongClick(View v) {
+            if (mInput.length() >= INPUT_MAX)
+                return true;
+            int tag = Integer.parseInt((String) v.getTag());
+            if (tag == 7) {
+                mInput += "#";
+            } else if (tag == 9) {
+                mInput += "*";
+            } else if (tag == 0) {
+                mInput += "+";
+            }
+            showInputCode();
+            return true;
+        }
+    };
+
     private void showInputCode() {
         mTextView.setText(mInput);
     }

+ 7 - 3
app/src/main/res/layout/activity_input_code.xml

@@ -128,7 +128,7 @@
                 android:layout_weight="1"
                 android:textSize="15sp"
                 android:textColor="@color/white"
-                android:text="7"
+                android:text="7 #"
                 android:tag="7" />
             <Button
                 android:id="@+id/button8"
@@ -150,7 +150,7 @@
                 android:layout_weight="1"
                 android:textSize="15sp"
                 android:textColor="@color/white"
-                android:text="9"
+                android:text="9 *"
                 android:tag="9" />
         </LinearLayout>
 
@@ -169,6 +169,8 @@
                 android:layout_height="match_parent"
                 android:background="@drawable/bg_gray"
                 android:src="@drawable/ic_call_2"
+                android:scaleType="centerInside"
+                android:padding="7dp"
                 android:layout_weight="1"
                 android:tag="101" />
             <Button
@@ -181,7 +183,7 @@
                 android:layout_weight="1"
                 android:textSize="15sp"
                 android:textColor="@color/white"
-                android:text="0"
+                android:text="0 +"
                 android:tag="0" />
             <ImageButton
                 android:id="@+id/buttonBack"
@@ -189,6 +191,8 @@
                 android:layout_height="match_parent"
                 android:background="@drawable/bg_gray"
                 android:src="@drawable/input_delete"
+                android:scaleType="centerInside"
+                android:padding="10dp"
                 android:layout_weight="1"
                 android:tag="100" />
         </LinearLayout>