Przeglądaj źródła

调整加载的白板的课件图片尺寸问题

Pq 2 lat temu
rodzic
commit
415e89891d

+ 2 - 2
live_teaching/src/main/java/com/daya/live_teaching/ui/LiveActivity.java

@@ -760,10 +760,10 @@ public class LiveActivity extends BaseActivity<ActivityLiveBinding> {
         CoursewarePreviewDialog coursewarePreviewDialog = new CoursewarePreviewDialog(this);
         coursewarePreviewDialog.setOnEventListener(new CoursewarePreviewDialog.OnEventListener() {
             @Override
-            public void onSelectCourse(String courseUrl, String courseImageUrl) {
+            public void onSelectCourse(String courseUrl, String courseImageUrl,int imgWidth,int imgHeight) {
                 WhiteBoardFragment whiteBoardFragment = (WhiteBoardFragment) getSupportFragmentManager().findFragmentByTag("whiteBoardFragment");
                 if (null != whiteBoardFragment) {
-                    whiteBoardFragment.insertImag(courseImageUrl);
+                    whiteBoardFragment.insertImg(courseImageUrl,imgWidth,imgHeight);
                     coursewarePreviewDialog.dismiss();
                 }
             }

+ 17 - 3
live_teaching/src/main/java/com/daya/live_teaching/ui/fragmnet/WhiteBoardFragment.java

@@ -362,14 +362,28 @@ public class WhiteBoardFragment extends BaseFragment<FragmentWhiteBoardBinding>
         });
     }
 
-    public void insertImag(String imgUrl) {
+    public void insertImg(String imgUrl, int imgWidth, int imgHeight) {
         if (room != null) {
-            LogUtils.i("WhiteBoardFragment","imgUrl:"+imgUrl);
-            ImageInformationWithUrl imageUrl = new ImageInformationWithUrl(0d, 0d, 200d, 200d, imgUrl);
+            ImageInformationWithUrl imageUrl = new ImageInformationWithUrl(0d, 0d, imgWidth != 0 ? imgWidth : 200d, imgHeight != 0 ? imgHeight : 200d, imgUrl);
             room.insertImage(imageUrl);
+            move(imgWidth, imgHeight);
         }
     }
 
+    private void move(int width, int height) {
+        WindowManager manager = getActivity().getWindowManager();
+        DisplayMetrics outMetrics = new DisplayMetrics();
+        manager.getDefaultDisplay().getMetrics(outMetrics);
+        int displayHeigth = outMetrics.heightPixels;
+        int imageHeight = (int) SizeUtils.px2dp((displayHeigth - SizeUtils.dp2px(90)));
+        double scale = imageHeight / Double.valueOf(height);
+
+        if (scale >= 1) {
+            scale = 1;
+        }
+        moveCamera(scale);
+    }
+
     private void updateWhiteBoardList() {
         room.getScenes(new Promise<Scene[]>() {
             @Override

+ 9 - 2
live_teaching/src/main/java/com/daya/live_teaching/widget/dialog/CoursewarePreviewDialog.java

@@ -88,8 +88,15 @@ public class CoursewarePreviewDialog extends Dialog implements View.OnClickListe
                 int currentItem = mViewpager.getCurrentItem();
                 if (currentItem < mAdapter.getData().size()) {
                     String s = mAdapter.getData().get(currentItem);
+                    View imgContainerView = mAdapter.getViewByPosition(currentItem, R.id.fl_container);
+                    int imgWidth = 0;
+                    int imgHeight = 0;
+                    if (imgContainerView != null) {
+                        imgWidth = imgContainerView.getWidth();
+                        imgHeight = imgContainerView.getHeight();
+                    }
                     if (mEventListener != null) {
-                        mEventListener.onSelectCourse(selectData.mp3url, s);
+                        mEventListener.onSelectCourse(selectData.mp3url, s, imgWidth, imgHeight);
                     }
                 }
             }
@@ -104,6 +111,6 @@ public class CoursewarePreviewDialog extends Dialog implements View.OnClickListe
     }
 
     public interface OnEventListener {
-        void onSelectCourse(String courseUrl, String courseImageUrl);
+        void onSelectCourse(String courseUrl, String courseImageUrl, int imgWidth, int imgHeight);
     }
 }