Pārlūkot izejas kodu

The function panel sometimes fails to click -- 功能面板有时候点击失灵(issue20: #14415)

Ray Zhang 4 gadi atpakaļ
vecāks
revīzija
8daf2be50a

+ 28 - 13
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/FunctionGrid.java

@@ -2,29 +2,31 @@ package com.usai.ratradefiling.home;
 
 import android.content.Context;
 import android.util.AttributeSet;
+import android.util.Log;
+import android.view.MotionEvent;
 import android.widget.GridView;
 
 public class FunctionGrid extends GridView
 {
-    public FunctionGrid(Context context) {
-        super(context);
-
-    }
+//    public FunctionGrid(Context context) {
+//        super(context);
+//        Log.e("DEBUG", "init: FunctionGrid");
+//    }
 
     public FunctionGrid(Context context, AttributeSet attrs) {
         super(context,attrs);
-
-    }
-
-    public FunctionGrid(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context,attrs,defStyleAttr);
-
+//        Log.e("DEBUG", "init: FunctionGrid");
     }
 
-    public FunctionGrid(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context,attrs,defStyleAttr,defStyleAttr);
+//    public FunctionGrid(Context context, AttributeSet attrs, int defStyleAttr) {
+//        super(context,attrs,defStyleAttr);
+//        Log.e("DEBUG", "init: FunctionGrid");
+//    }
 
-    }
+//    public FunctionGrid(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+//        super(context,attrs,defStyleAttr,defStyleAttr);
+//        Log.e("DEBUG", "init: FunctionGrid");
+//    }
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         int expandSpec = MeasureSpec.makeMeasureSpec(
@@ -32,5 +34,18 @@ public class FunctionGrid extends GridView
 
 
         super.onMeasure(widthMeasureSpec, expandSpec);
+
+        Log.e("DEBUG", "onMeasure: FunctionGrid");
     }
+
+
+//    @Override
+//    public boolean dispatchTouchEvent(MotionEvent ev) {
+//        Log.e("DEBUG", "dispatchTouchEvent: FunctionGrid"+ ev.getAction());
+////        if(ev.getAction() == MotionEvent.ACTION_MOVE)
+////        {
+////            return true;
+////        }
+//        return super.dispatchTouchEvent(ev);
+//    }
 }

+ 18 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeHeaderView.java

@@ -6,7 +6,9 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.text.Html;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.GridView;
@@ -100,7 +102,7 @@ public class HomeHeaderView extends RelativeLayout {
         tv_recent.setText(Html.fromHtml(s30));
     }
     private void init() {
-
+        Log.e("DEBUG", "init: FUNCTION PANEL!!!");
         if (initialized) {
             return;
         }
@@ -115,6 +117,19 @@ public class HomeHeaderView extends RelativeLayout {
 
 
         function_panel = findViewById(R.id.function_grid);
+
+//        function_panel.setOnTouchListener(new OnTouchListener()
+//        {
+//            @Override
+//            public boolean onTouch(View v, MotionEvent event)
+//            {
+//                Log.e("DEBUG", "onTouch: FUNCTION PANEL!!!   "+event.getAction());
+////                return MotionEvent.ACTION_MOVE == event.getAction() ? true
+////                        : false;
+//                return false;
+//            }
+//        });
+
         function_panel.setAdapter(new FunctionPanelAdapter(getContext(),function_json));
 
         function_panel.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -122,6 +137,8 @@ public class HomeHeaderView extends RelativeLayout {
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 
 
+                Log.e("DEBUG", "onItemClick: FUNCTION PANEL!!!");
+
                 JSONObject item =(JSONObject) function_panel.getItemAtPosition(position);
 
 

+ 2 - 0
ApexDrivers/ratradefiling/src/main/res/layout/function_panel_item.xml

@@ -3,6 +3,8 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
+
+    android:descendantFocusability="blocksDescendants"
     android:orientation="vertical">
 
     <ImageView

+ 19 - 6
ApexDrivers/ratradefiling/src/main/res/layout/home_header_view1.xml

@@ -79,6 +79,15 @@
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
+        <View
+            android:id="@+id/center_line"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintBottom_toBottomOf="@id/function_grid"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="@id/function_grid" />
+
         <com.usai.ratradefiling.home.FunctionGrid
             android:id="@+id/function_grid"
             android:layout_width="0dp"
@@ -92,20 +101,24 @@
 
             android:numColumns="5"
 
+            android:scrollbarAlwaysDrawHorizontalTrack="false"
+            android:scrollbarAlwaysDrawVerticalTrack="false"
             android:scrollbars="none"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/constraintLayout2" />
+            app:layout_constraintTop_toBottomOf="@+id/constraintLayout2">
 
-        <View
-            android:id="@+id/center_line"
-            android:layout_width="wrap_content"
+        </com.usai.ratradefiling.home.FunctionGrid>
+
+        <Button
+            android:id="@+id/button"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
-            app:layout_constraintBottom_toBottomOf="@id/function_grid"
+            android:text="Button"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@id/function_grid" />
+            app:layout_constraintTop_toBottomOf="@id/function_grid" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>