Browse Source

0.0.46.beta14 ready

kongzue 2 years ago
parent
commit
533192769a

+ 6 - 7
DialogXIOSStyle/src/main/java/com/kongzue/dialogx/style/views/ProgressView.java

@@ -63,11 +63,6 @@ public class ProgressView extends View implements ProgressViewInterface {
         init(attrs);
     }
     
-    public ProgressView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        init(attrs);
-    }
-    
     public boolean isLightMode() {
         return isLightMode;
     }
@@ -208,7 +203,11 @@ public class ProgressView extends View implements ProgressViewInterface {
         Matrix matrix = new Matrix();
         matrix.setRotate(45 * ((int) currentRotateDegrees));
         Bitmap rotatedBitmap = Bitmap.createBitmap(origin, 0, 0, origin.getWidth(), origin.getHeight(), matrix, false);
-        return Bitmap.createBitmap(rotatedBitmap, rotatedBitmap.getWidth() / 2 - origin.getWidth() / 2, rotatedBitmap.getHeight() / 2 - origin.getHeight() / 2, origin.getWidth(), origin.getHeight(), null, false);
+        int x = rotatedBitmap.getWidth() / 2 - origin.getWidth() / 2;
+        int y = rotatedBitmap.getHeight() / 2 - origin.getHeight() / 2;
+        if (x < 0) x = 0;
+        if (y < 0) y = 0;
+        return Bitmap.createBitmap(rotatedBitmap, x, y, origin.getWidth(), origin.getHeight(), null, false);
     }
     
     private void drawDoneMark(int status, Canvas canvas) {
@@ -217,7 +216,7 @@ public class ProgressView extends View implements ProgressViewInterface {
         }
         if (tickShowRunnable != null) {
             tickShowRunnable.run();
-            if (DialogX.useHaptic)performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
+            if (DialogX.useHaptic) performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
             tickShowRunnable = null;
         }
         switch (status) {

+ 23 - 16
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -24,6 +24,7 @@ import android.view.inputmethod.InputMethodManager;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
+import android.widget.AdapterView;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -1125,25 +1126,31 @@ public class MainActivity extends BaseActivity {
                         .setCustomView(new OnBindView<BottomDialog>(R.layout.layout_custom_recycleview) {
                             @Override
                             public void onBind(BottomDialog dialog, View v) {
-                                List<CustomRecycleViewAdapter.Data> fruitList = new ArrayList<>();
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 1"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 2"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 3"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 4"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 5"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 6"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 7"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 8"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 9"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 10"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 11"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 12"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 13"));
-                                fruitList.add(new CustomRecycleViewAdapter.Data("Item Text 14"));
+                                List<CustomRecycleViewAdapter.Data> dataArrayList = new ArrayList<>();
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 1"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 2"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 3"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 4"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 5"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 6"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 7"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 8"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 9"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 10"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 11"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 12"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 13"));
+                                dataArrayList.add(new CustomRecycleViewAdapter.Data("Item Text 14"));
                                 RecyclerView recyclerView = (RecyclerView) v;
                                 LinearLayoutManager layoutManager = new LinearLayoutManager(me);
                                 recyclerView.setLayoutManager(layoutManager);
-                                CustomRecycleViewAdapter adapter = new CustomRecycleViewAdapter(fruitList);
+                                CustomRecycleViewAdapter adapter = new CustomRecycleViewAdapter(dataArrayList);
+                                adapter.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+                                    @Override
+                                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                                        PopTip.show("点击了第 " + position + " 个");
+                                    }
+                                });
                                 recyclerView.setAdapter(adapter);
                             }
                         })

+ 24 - 0
app/src/main/java/com/kongzue/dialogxdemo/custom/recycleview/CustomRecycleViewAdapter.java

@@ -3,6 +3,7 @@ package com.kongzue.dialogxdemo.custom.recycleview;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.AdapterView;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
@@ -23,6 +24,17 @@ import java.util.List;
  */
 public class CustomRecycleViewAdapter extends RecyclerView.Adapter<CustomRecycleViewAdapter.ViewHolder> {
     
+    AdapterView.OnItemClickListener onItemClickListener;
+    
+    public AdapterView.OnItemClickListener getOnItemClickListener() {
+        return onItemClickListener;
+    }
+    
+    public CustomRecycleViewAdapter setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {
+        this.onItemClickListener = onItemClickListener;
+        return this;
+    }
+    
     public CustomRecycleViewAdapter(List<Data> mDataList) {
         this.mDataList = mDataList;
     }
@@ -40,6 +52,12 @@ public class CustomRecycleViewAdapter extends RecyclerView.Adapter<CustomRecycle
     @Override
     public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
         Data data = mDataList.get(position);
+        holder.getItemView().setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (onItemClickListener != null) onItemClickListener.onItemClick(null, v, holder.getAdapterPosition(),0);
+            }
+        });
         holder.getTxtItem().setText(data.getText());
     }
     
@@ -68,12 +86,18 @@ public class CustomRecycleViewAdapter extends RecyclerView.Adapter<CustomRecycle
     
     public static class ViewHolder extends RecyclerView.ViewHolder {
         TextView txtItem;
+        View itemView;
         
         public ViewHolder(@NonNull View itemView) {
             super(itemView);
+            this.itemView = itemView;
             txtItem = itemView.findViewById(R.id.txt_item);
         }
     
+        public View getItemView() {
+            return itemView;
+        }
+    
         public TextView getTxtItem() {
             return txtItem;
         }

+ 1 - 1
app/src/main/res/layout/item_custom_recycleview.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="wrap_content">
 
     <TextView
         android:id="@+id/txt_item"

+ 1 - 1
app/src/main/res/layout/layout_custom_recycleview.xml

@@ -4,6 +4,6 @@
     android:tag="ScrollController"
     android:orientation="vertical"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="350dp">
 
 </com.kongzue.dialogxdemo.custom.recycleview.CustomRecycleView>