最近处理一个问题,设备有方向键盘,做cit中的按键测试,发现按方向键第一次按键不能触发该键值,而是让屏幕第一个按钮获取焦点,然后再次按键,则其他正常。问题:进入界面第一次按键就要响应对应按键逻辑,不需要焦点。该问题查找了很久,最后找到了答案!

布局中的按键测试布局中按钮是button或imagebutton。这布局进入时,初次会相应方向键(原理未知),解决方案:设置所有按钮clickable=false(防止触屏幕激发),主要的是将所有按钮设置

enable=false(imagebutton在xml中设置无效,需要在代码中设置)

修改如下

Date:   Wed Aug 28 18:38:33 2024 +0800

    处理按键测试按钮获取焦点问题
    
    Change-Id: I6f317fec43c213761573fb793bc057fd14da71ae

diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 8e8eb03..23abed9 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -87,7 +87,7 @@
                 
-            
+                
         
         
-     
 
                                                                                                     
@@ -69,6 +66,7 @@                                                                                                   
             android:layout_height="wrap_content"                                                                   
             android:layout_weight="1"                                                                              
             android:clickable="false"                                                                              
+            android:enabled="false"                                                                                
             android:gravity="center"                                                                               
             android:text="CALL" />                                                                                 
                                                                                                                    
@@ -78,6 +76,8 @@                                                                                                   
         android:layout_height="wrap_content"                                                                       
         android:layout_weight="1"                                                                                  
         android:gravity="center"                                                                                   
+        android:enabled="false"                                                                                    
+        android:clickable="false"                                                                                  
         android:src="@drawable/menu"                                                                               
         android:visibility="visible" />                                                                            
                                                                                                                    
@@ -87,6 +87,7 @@                                                                                                   
             android:layout_height="wrap_content"                                                                   
             android:layout_weight="1"                                                                              
             android:clickable="false"                                                                              
+            android:enabled="false"                                                                                
             android:src="@drawable/camera" />                                                                      
                                                                                                             
@@ -110,6 +112,9 @@                                                                                                 
             android:layout_height="wrap_content"                                                                   
             android:layout_weight="1"                                                                              
             android:clickable="false"                                                                              
+            android:enabled="false"                                                                                
+                                                                                                                   
+                                                                                                                   
             android:text="PTT" />                                                                                  
                                                                                                                    
                                                                                           
                                                                         
@@ -134,6 +142,7 @@                                                                                                 
                 android:layout_weight="1"                                                                          
                 android:layout_height="wrap_content"                                                               
                 android:clickable="false"                                                                          
+                android:enabled="false"                                                                            
                 android:gravity="center"                                                                           
                 android:text="Fn"                                                                                  
                 android:visibility="visible" />                                                                    
@@ -150,6 +159,9 @@                                                                                                 
             android:layout_height="wrap_content"                                                                   
             android:layout_weight="1"                                                                              
             android:clickable="false"                                                                              
+                android:enabled="false"                                                                            
+                                                                                                                   
+                                                                                                                   
             android:text="VIDEO" />                                                                                
                                                                                                                    
                                                                                         
                                                                                                                    
                                                                                                     
@@ -181,6 +195,9 @@                                                                                                 
                     android:layout_width="wrap_content"                                                            
                     android:layout_height="wrap_content"                                                           
                     android:clickable="false"                                                                      
+                     android:focusable="false"                                                                     
+                     android:enabled="false"                                                                       
+                    android:focusableInTouchMode="false"                                                           
                     android:src="@drawable/up" />                                                                  
                                                                                                                    
                                                                                                     
                                                                                                                    
@@ -227,6 +253,9 @@                                                                                                 
                         android:layout_width="wrap_content"                                                        
                         android:layout_height="wrap_content"                                                       
                         android:clickable="false"                                                                  
+                         android:focusable="false"                                                                 
+                         android:enabled="false"                                                                   
+                        android:focusableInTouchMode="false"                                                       
                         android:src="@drawable/down" />                                                            
                                                                                                     
                                                                                                     
@@ -249,6 +278,7 @@                                                                                                 
                     android:layout_width="180dip"                                                                  
                     android:layout_height="wrap_content"                                                           
                     android:clickable="false"                                                                      
+                android:enabled="false"                                                                            
                     android:text="@string/ai_key_test" />                                                          
                                                                                                     
                                                                                                     
diff --git a/src/com/sprd/validationtools/itemstest/audio/PhoneLoopBackTest.java b/src/com/sprd/validationtools/itemstest/audio/PhoneLoopBackTest.java                                                                                  
index d45d9b8..7b8696c 100644                                                                                       
--- a/src/com/sprd/validationtools/itemstest/audio/PhoneLoopBackTest.java                                           
+++ b/src/com/sprd/validationtools/itemstest/audio/PhoneLoopBackTest.java                                           
@@ -83,17 +83,21 @@ public class PhoneLoopBackTest extends BaseActivity {                                           
                                                                                                                    
         mRadioSpeaker.setOnClickListener(new View.OnClickListener() {                                              
             public void onClick(View v) {                                                                          
+                Log.d(TAG, "mRadioSpeaker click---");                                                              
+                                                                                                                   
                 switchLoopback(LOOPBACK_SPEAKER);                                                                  
             }                                                                                                      
         });                                                                                                        
         mRadioReceiver.setOnClickListener(new View.OnClickListener() {                                             
             public void onClick(View v) {                                                                          
+                Log.d(TAG, "mRadioReceiver click---");                                                             
                 switchLoopback(LOOPBACK_RECEIVER);                                                                 
             }                                                                                                      
         });                                                                                                        
                                                                                                                    
         mRadioEarpiece.setOnClickListener(new View.OnClickListener() {                                             
             public void onClick(View v) {                                                                          
+                Log.d(TAG, "mRadioEarpiece click---");                                                             
                 switchLoopback(LOOPBACK_MIC_EARPIECE);                                                             
             }                                                                                                      
         });                                                                                                        
diff --git a/src/com/sprd/validationtools/itemstest/keypad/KeyTestActivity.java b/src/com/sprd/validationtools/itemstest/keypad/KeyTestActivity.java                                                                                    
index 0139c4e..06f5bd1 100644                                                                                       
--- a/src/com/sprd/validationtools/itemstest/keypad/KeyTestActivity.java                                            
+++ b/src/com/sprd/validationtools/itemstest/keypad/KeyTestActivity.java                                            
@@ -19,6 +19,7 @@ import android.widget.Button;                                                                     
 import android.widget.GridLayout;                                                                                  
 import android.widget.ImageButton;                                                                                 
 import android.widget.Toast;                                                                                       
+import android.view.WindowManager;                                                                                 
                                                                                                                    
 import com.sprd.validationtools.BaseActivity;                                                                      
 import com.sprd.validationtools.Const;                                                                             
@@ -118,13 +119,20 @@ public class KeyTestActivity extends BaseActivity {                                           
             setContentView(R.layout.key_test);                                                                     
             setTitle(R.string.key_test);                                                                           
             mHomeButton = (ImageButton) findViewById(R.id.home_button);                                            
+            mHomeButton.setEnabled(false);                                                                         
 //            mMenuButton = (ImageButton) findViewById(R.id.menu_button);                                          
             mCallButton = (Button) findViewById(R.id.call_button);                                                 
             mVolumeUpButton = (ImageButton) findViewById(R.id.volume_up_button);                                   
             mVolumeDownButton = (ImageButton) findViewById(R.id.volume_down_button);                               
             mCameraButton = (ImageButton) findViewById(R.id.camera_button);                                        
+            mVolumeUpButton.setEnabled(false);                                                                     
+            mVolumeDownButton.setEnabled(false);                                                                   
+            mCameraButton.setEnabled(false);                                                                       
+                                                                                                                   
                                                                                                                    
             mPowerButton = (ImageButton) findViewById(R.id.power_button);                                          
+            mPowerButton.setEnabled(false);                                                                        
+                                                                                                                   
             mPTTButton = (Button)findViewById(R.id.ptt_button);                                                    
             mSOSButton = (Button)findViewById(R.id.sos_button);                                                    
                                                                                                                    
@@ -154,10 +162,9 @@ public class KeyTestActivity extends BaseActivity {                                            
             mVideoButton.setVisibility(View.GONE);                                                                 
             mCallButton.setVisibility(View.GONE);                                                                  
                                                                                                                    
-            findViewById(R.id.focus_button).requestFocus();                                                        
-                                                                                                                   
             mFnButton = (Button)findViewById(R.id.fn_button);                                                      
             mMenuButton = (ImageButton)findViewById(R.id.menu_button);                                             
+            mMenuButton.setEnabled(false);                                                                         
                                                                                                                    
             mUpButton = (ImageButton)findViewById(R.id.up_button);                                                 
             mDownButton = (ImageButton)findViewById(R.id.down_button);                                             
@@ -165,7 +172,14 @@ public class KeyTestActivity extends BaseActivity {                                            
             mRightButton = (ImageButton)findViewById(R.id.right_button);                                           
             mCenterButton = (ImageButton)findViewById(R.id.center_button);                                         
             mBackButton = (ImageButton)findViewById(R.id.back_button);                                             
-                                                                                                                   
+            mUpButton.setEnabled(false);                                                                           
+            mDownButton.setEnabled(false);                                                                         
+            mLeftButton.setEnabled(false);                                                                         
+            mRightButton.setEnabled(false);                                                                        
+            mCenterButton.setEnabled(false);                                                                       
+            mBackButton.setEnabled(false);                                                                         
+                                                                                                                   
+            // mVolumeUpButton.requestFocus();                                                                     
             initSupport();                                                                                         
         }                                                                                                          
     }  

over~

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。