OSDN Git Service

ランドスケープのレイアウトを定義する。
authorMRSa <mrsa@myad.jp>
Wed, 9 Feb 2022 12:52:57 +0000 (21:52 +0900)
committerMRSa <mrsa@myad.jp>
Wed, 9 Feb 2022 12:52:57 +0000 (21:52 +0900)
.idea/misc.xml
app/src/main/java/jp/osdn/gokigen/gokigenassets/liveview/LiveImageView.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/liveview/gridframe/GridFrameDrawerDefault.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/liveview/gridframe/IGridFrameDrawer.kt
app/src/main/res/layout-land/activity_main.xml [new file with mode: 0644]
app/src/main/res/layout-land/camera_capture.xml [new file with mode: 0644]
app/src/main/res/layout-land/camera_connection_method.xml [new file with mode: 0644]
app/src/main/res/layout-land/liveimage_view.xml [new file with mode: 0644]

index 1cf2719..f5da2cb 100644 (file)
@@ -8,6 +8,10 @@
   <component name="DesignSurface">
     <option name="filePathToZoomLevelMap">
       <map>
+        <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout-land/activity_main.xml" value="0.2865961199294533" />
+        <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout-land/camera_capture.xml" value="0.2865961199294533" />
+        <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout-land/camera_connection_method.xml" value="0.2865961199294533" />
+        <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout-land/liveimage_view.xml" value="0.2865961199294533" />
         <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout/activity_main.xml" value="0.2033514492753623" />
         <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout/camera_capture.xml" value="0.25" />
         <entry key="..\:/Users/MRSa/AndroidStudioProjects/android/mangle/app/src/main/res/layout/camera_connection_method.xml" value="0.25" />
index db9e59d..2f1db2e 100644 (file)
@@ -136,12 +136,29 @@ class LiveImageView : View, ILiveView, ILiveViewRefresher, IShowGridFrame, OnSee
             return
         }
 
+        var addDegrees = 0
+        if (isRotationImage)
+        {
+            try
+            {
+                val config = context.resources.configuration
+                if (config.orientation == Configuration.ORIENTATION_LANDSCAPE)
+                {
+                    addDegrees = 90
+                }
+            }
+            catch (e: Exception)
+            {
+                e.printStackTrace()
+            }
+        }
+
         //Log.v(TAG, " ----- onDraw() ----- ")
         canvas.drawARGB(255, 0, 0, 0)
-        val imageRectF = drawImage(canvas)
+        val imageRectF = drawImage(canvas, addDegrees)
         if (showGrid)
         {
-            gridFrameDrawer.drawFramingGrid(canvas, imageRectF, gridColor)
+            gridFrameDrawer.drawFramingGrid(canvas, imageRectF, gridColor, addDegrees)
         }
         this.drawFocusFrame(canvas,imageRectF.width(), imageRectF.height())
         informationDrawer.drawInformationMessages(canvas, imageRectF)
@@ -162,7 +179,7 @@ class LiveImageView : View, ILiveView, ILiveViewRefresher, IShowGridFrame, OnSee
         refreshCanvas()
     }
 
-    private fun drawImage(canvas: Canvas) : RectF
+    private fun drawImage(canvas: Canvas, addDegrees: Int) : RectF
     {
         val centerX = canvas.width / 2
         val centerY = canvas.height / 2
@@ -173,22 +190,6 @@ class LiveImageView : View, ILiveView, ILiveViewRefresher, IShowGridFrame, OnSee
 
         imageBitmap = imageProvider.getImage(sliderPosition)
 
-        var addDegrees = 0
-        if (isRotationImage)
-        {
-            try
-            {
-                val config = context.resources.configuration
-                if (config.orientation == Configuration.ORIENTATION_LANDSCAPE)
-                {
-                    addDegrees = 90
-                }
-            }
-            catch (e: Exception)
-            {
-                e.printStackTrace()
-            }
-        }
         val degrees = imageRotationDegrees + addDegrees
         val viewRect = decideViewRect(canvas, imageBitmap, degrees)
         val width : Int = imageBitmap.width
index 1fa5b54..8f82f81 100644 (file)
@@ -1,13 +1,12 @@
 package jp.osdn.gokigen.gokigenassets.liveview.gridframe
 
 import android.graphics.Canvas
-import android.graphics.Color
 import android.graphics.Paint
 import android.graphics.RectF
 
 class GridFrameDrawerDefault : IGridFrameDrawer
 {
-    override fun drawFramingGrid(canvas: Canvas, rect: RectF, color : Int)
+    override fun drawFramingGrid(canvas: Canvas, rect: RectF, color : Int, rotationDegrees: Int)
     {
         val paint = Paint()
         paint.color = color
@@ -17,10 +16,21 @@ class GridFrameDrawerDefault : IGridFrameDrawer
         val width = (rect.right - rect.left) / 3.0f
         val height = (rect.bottom - rect.top) / 3.0f
 
+        val centerX = canvas.width / 2
+        val centerY = canvas.height / 2
+
+        if (rotationDegrees != 0)
+        {
+            canvas.rotate(rotationDegrees.toFloat(), centerX.toFloat(), centerY.toFloat())
+        }
         canvas.drawLine(rect.left + width, rect.top, rect.left + width, rect.bottom, paint)
         canvas.drawLine(rect.left + 2.0f * width, rect.top, rect.left + 2.0f * width, rect.bottom, paint)
         canvas.drawLine(rect.left, rect.top + height, rect.right, rect.top + height, paint)
         canvas.drawLine(rect.left, rect.top + 2.0f * height, rect.right, rect.top + 2.0f * height, paint)
         canvas.drawRect(rect, paint)
+        if (rotationDegrees != 0)
+        {
+            canvas.rotate(-rotationDegrees.toFloat(), centerX.toFloat(), centerY.toFloat())
+        }
     }
 }
index fe7791a..caac767 100644 (file)
@@ -6,5 +6,5 @@ import android.graphics.RectF
 
 interface IGridFrameDrawer
 {
-    fun drawFramingGrid(canvas: Canvas, rect: RectF, color : Int = Color.argb(130, 235, 235, 235))
+    fun drawFramingGrid(canvas: Canvas, rect: RectF, color : Int = Color.argb(130, 235, 235, 235), rotationDegrees: Int)
 }
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
new file mode 100644 (file)
index 0000000..1e38d33
--- /dev/null
@@ -0,0 +1,101 @@
+<?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:id="@+id/base_layout"
+>
+
+    <ImageButton
+        android:id="@+id/button_connect"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:contentDescription="@string/blank"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentBottom="true"
+        android:layout_marginRight="2dp"
+        android:src="@drawable/ic_baseline_cloud_off_24"
+        android:visibility="visible"
+        />
+
+    <ImageButton
+        android:id="@+id/button_connect2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:contentDescription="@string/blank"
+        android:layout_toRightOf="@id/button_connect"
+        android:layout_alignTop="@id/button_connect"
+        android:layout_alignParentBottom="true"
+        android:src="@drawable/ic_baseline_linked_camera_24"
+        android:visibility="gone"
+        />
+
+    <ImageButton
+        android:id="@+id/button_configure"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:contentDescription="@string/blank"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentBottom="true"
+        android:layout_marginRight="2dp"
+        android:src="@drawable/ic_baseline_settings_24"
+        android:visibility="visible"
+        />
+
+    <ImageButton
+        android:id="@+id/button_camera"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:contentDescription="@string/blank"
+        android:layout_toLeftOf="@id/button_configure"
+        android:layout_marginRight="2dp"
+        android:layout_alignTop="@id/button_configure"
+        android:layout_alignParentBottom="true"
+        android:src="@drawable/ic_baseline_camera_alt_24"
+        android:visibility="invisible"
+        />
+
+    <ImageButton
+        android:id="@+id/button_camera2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:contentDescription="@string/blank"
+        android:layout_toLeftOf="@id/button_camera"
+        android:layout_marginRight="2dp"
+        android:layout_alignTop="@id/button_configure"
+        android:layout_alignParentBottom="true"
+        android:src="@drawable/ic_baseline_camera_24"
+        android:visibility="gone"
+        />
+
+    <TextView
+        android:id="@+id/message"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/blank"
+        android:textSize="8pt"
+        android:gravity="center"
+        android:layout_marginStart="0dp"
+        android:layout_toRightOf="@id/button_connect"
+        android:layout_toEndOf="@id/button_connect"
+        android:layout_alignParentBottom="true"
+        android:layout_toLeftOf="@id/button_camera"
+        android:layout_alignTop="@id/button_camera"
+        android:layout_marginRight="2dp"
+        android:visibility="visible"
+        />
+
+    <FrameLayout
+        android:id="@+id/fragment1"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentTop="true"
+        android:layout_above="@id/message"
+        android:visibility="visible"
+        />
+
+</RelativeLayout>
diff --git a/app/src/main/res/layout-land/camera_capture.xml b/app/src/main/res/layout-land/camera_capture.xml
new file mode 100644 (file)
index 0000000..07a4090
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/main_layout"
+    tools:context=".MainActivity">
+
+    <ImageButton
+        android:id="@+id/camera_capture_button"
+        android:layout_width="26pt"
+        android:layout_height="26pt"
+        android:scaleType="fitCenter"
+        android:layout_marginBottom="10dp"
+        android:contentDescription="@string/blank"
+        android:src="@drawable/ic_baseline_camera_24"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:elevation="2dp" />
+
+    <androidx.camera.view.PreviewView
+        android:id="@+id/viewFinder"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout-land/camera_connection_method.xml b/app/src/main/res/layout-land/camera_connection_method.xml
new file mode 100644 (file)
index 0000000..e414062
--- /dev/null
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method1"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method1"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method1"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method2"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method2"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method2"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method3"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method3"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method3"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method4"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method4"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method4"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method5"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method5"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method5"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method6"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method6"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method6"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method7"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method7"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method7"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+        <TextView
+            android:id="@+id/label_connection_method8"
+            android:layout_width="0dp"
+            android:layout_height="fill_parent"
+            android:layout_weight="1"
+            android:adjustViewBounds = "true"
+            android:scaleType="fitCenter"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:textSize="9pt"
+            android:text="@string/label_connection_method8"
+            >
+        </TextView>
+        <Spinner
+            android:id="@+id/connection_method8"
+            android:layout_gravity="start"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:padding="6dp"
+            android:textSize="9pt"
+            />
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/liveimage_view.xml b/app/src/main/res/layout-land/liveimage_view.xml
new file mode 100644 (file)
index 0000000..d96e7cd
--- /dev/null
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/main_layout"
+    tools:context=".MainActivity">
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:id="@+id/liveview_upper_area"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:visibility="visible">
+            <LinearLayout
+                android:id="@+id/panelLayout0"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    android:id="@+id/liveViewFinder0"
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar0"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:max="1000"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/panelLayout1"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:id="@+id/liveViewFinder1"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar1"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:max="1000"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/liveview_middle_up_area"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:visibility="visible">
+            <LinearLayout
+                android:id="@+id/panelLayout2"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    android:id="@+id/liveViewFinder2"
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar2"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:max="1000"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/panelLayout3"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:id="@+id/liveViewFinder3"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar3"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:max="1000"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/liveview_middle_down_area"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:visibility="visible">
+            <LinearLayout
+                android:id="@+id/panelLayout4"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    android:id="@+id/liveViewFinder4"
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar4"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:max="1000"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/panelLayout5"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:id="@+id/liveViewFinder5"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:layout_weight="1"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar5"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:max="1000"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/liveview_lower_area"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:visibility="visible">
+
+            <LinearLayout
+                android:id="@+id/panelLayout6"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:id="@+id/liveViewFinder6"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar6"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:max="1000"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/panelLayout7"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1"
+                android:visibility="visible"
+                android:orientation="vertical">
+
+                <view
+                    android:id="@+id/liveViewFinder7"
+                    class="jp.osdn.gokigen.gokigenassets.liveview.LiveImageView"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:scaleType="fitCenter"
+                    android:visibility="visible" />
+
+                <SeekBar
+                    android:id="@+id/liveview_cache_seekbar7"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:max="1000"
+                    android:minHeight="14pt"
+                    android:layout_marginTop="1dp"
+                    android:layout_marginBottom="1dp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+        </LinearLayout>
+    </LinearLayout>
+
+
+    <ImageButton
+        android:id="@+id/button_camera"
+        android:layout_width="26pt"
+        android:layout_height="26pt"
+        android:scaleType="fitCenter"
+        android:layout_marginTop="70dp"
+        android:layout_marginEnd="10dp"
+        android:contentDescription="@string/blank"
+        android:src="@drawable/ic_baseline_camera_24"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:elevation="2dp"
+        android:visibility="visible"/>
+
+</androidx.constraintlayout.widget.ConstraintLayout>