浏览代码

AdjustGrid, AdjustSeekbar

losion.liu@sikey.com.cn 5 月之前
父节点
当前提交
c28ee20071

+ 6 - 1
app/src/main/AndroidManifest.xml

@@ -110,7 +110,12 @@
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:launchMode="singleInstance" />
         <activity
-            android:name=".Activity.GridAdjustActivity"
+            android:name=".Activity.AdjustGridActivity"
+            android:exported="true"
+            android:configChanges="keyboardHidden|orientation|screenSize"
+            android:launchMode="singleInstance" />
+        <activity
+            android:name=".Activity.AdjustSeekbarActivity"
             android:exported="true"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:launchMode="singleInstance" />

+ 2 - 8
app/src/main/java/com/xplora/xpsettings/Activity/GridAdjustActivity.java → app/src/main/java/com/xplora/xpsettings/Activity/AdjustGridActivity.java

@@ -3,12 +3,8 @@ package com.xplora.xpsettings.Activity;
 import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
-import android.provider.Settings;
 import android.util.Log;
-import android.view.View;
-import android.widget.ImageButton;
 import android.widget.ImageView;
-import android.widget.SeekBar;
 import android.widget.TextView;
 
 import com.xplora.xpsettings.R;
@@ -16,12 +12,10 @@ import com.xplora.xpsettings.Data.DataManager;
 import com.xplora.xpsettings.Utils.Constant;
 import com.xplora.xpsettings.Utils.ResUtils;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 
 
-public class GridAdjustActivity extends BaseActionActivity {
+public class AdjustGridActivity extends BaseActionActivity {
     int mViewType = 0;
     int minValue = 0;
     int maxValue = 100;
@@ -38,7 +32,7 @@ public class GridAdjustActivity extends BaseActionActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_change_progress);
+        setContentView(R.layout.activity_adjust_grid);
         initDatas();
         initView();
         initTitle();

+ 133 - 0
app/src/main/java/com/xplora/xpsettings/Activity/AdjustSeekbarActivity.java

@@ -0,0 +1,133 @@
+package com.xplora.xpsettings.Activity;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.ImageView;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import com.xplora.xpsettings.R;
+import com.xplora.xpsettings.Data.DataManager;
+import com.xplora.xpsettings.Utils.Constant;
+import com.xplora.xpsettings.Utils.ResUtils;
+
+import java.util.Map;
+
+
+public class AdjustSeekbarActivity extends BaseActivity implements SeekBar.OnSeekBarChangeListener {
+    int mViewType = 0;
+
+    int curValue = 0;
+    int maxValue = 100;
+    int minValue = 0;
+
+    private ImageView mImageView = null;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_adjust_seekbar);
+        initDatas();
+        initView();
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        initDatas();
+        initView();
+    }
+
+    private void initDatas() {
+        mViewType = getIntent().getIntExtra(Constant.INTENT_VIEW_TYPE, 0);
+        if (mViewType == 3) {
+            curValue = DataManager.getBrightness();
+        } else {
+            Map map = DataManager.getVolume(mViewType);
+            curValue = (int) map.get("cur");
+            maxValue = (int) map.get("max");
+            minValue = (int) map.get("min");
+        }
+        Log.d(TAG, "initData: curValue: " + curValue + " maxValue: " + maxValue + " minValue: " + minValue);
+    }
+
+    @SuppressLint("DefaultLocale")
+    private void initView() {
+        mImageView = findViewById(R.id.icon);
+        TextView titleText = findViewById(R.id.title);
+        SeekBar seekBar = findViewById(R.id.seekbar);
+
+        if (titleText != null) {
+            if (mViewType == 3) {
+                String[] stringList = ResUtils.getStringArray("display_title_array_", 4);
+                titleText.setText(stringList[0]);
+            } else {
+                String[] stringList = ResUtils.getStringArray("volume_title_array_", 2);
+                String[] soundModeList = ResUtils.getStringArray("soundmode_title_array_", 3);
+                String title = stringList[mViewType] + " " + soundModeList[0];
+                titleText.setText(title);
+            }
+        }
+        if (seekBar != null) {
+            seekBar.setMin(0);
+            seekBar.setMax(maxValue);
+            seekBar.setProgress(curValue);
+            seekBar.setOnSeekBarChangeListener(this);
+        }
+
+        changeImage();
+    }
+
+    private void changeImage() {
+        if (mImageView == null)
+            return;
+        if (mViewType == 3) {
+            int imageId = ResUtils.getImageId("ic_seekbar_", mViewType);
+            mImageView.setImageResource(imageId);
+        } else {
+            int index = curValue <= 0 ? 0 : 2;
+            int imageId = ResUtils.getImageId("ic_seekbar_", index);
+            mImageView.setImageResource(imageId);
+        }
+    }
+
+    /*
+     * SeekBar滚动时的回调函数
+     */
+    @SuppressLint("SetTextI18n")
+    @Override
+    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+        if (progress <= minValue) {
+            progress = minValue;
+            seekBar.setProgress(progress);
+        }
+        Log.d(TAG, "onProgressChanged: mViewType:" + mViewType +  " progress: " + progress);
+
+        curValue = progress;
+        if (mViewType == 3) {
+            DataManager.setBrightness(progress);
+        } else {
+            DataManager.setVolume(mViewType, progress);
+        }
+
+        changeImage();
+
+        int value = mViewType == 3 ? curValue : (curValue * 100 / maxValue);
+        Intent intent = new Intent();
+        intent.putExtra(Constant.INTENT_VIEW_TYPE, mViewType);
+        intent.putExtra(Constant.INTENT_RESULT_VALUE, value);
+        setResult(RESULT_OK, intent);
+    }
+
+    @Override
+    public void onStartTrackingTouch(SeekBar seekBar) {
+
+    }
+
+    @Override
+    public void onStopTrackingTouch(SeekBar seekBar) {
+
+    }
+}

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/DisplayActivity.java

@@ -81,7 +81,7 @@ public class DisplayActivity extends BaseActionActivity {
             Intent intent;
             switch (i) {
                 case 0:
-                    intent = new Intent(this, GridAdjustActivity.class);
+                    intent = new Intent(this, AdjustSeekbarActivity.class);
                     intent.putExtra(Constant.INTENT_VIEW_TYPE, 3);
                     startActivityForResult(intent, 112);
                     break;

+ 8 - 2
app/src/main/java/com/xplora/xpsettings/Activity/SettingsActivity.java

@@ -70,8 +70,7 @@ public class SettingsActivity extends BaseActionActivity {
             Intent intent;
             switch (i) {
                 case 0:
-                    intent = new Intent(this, OpenCloseActivity.class);
-                    intent.putExtra(Constant.INTENT_ACTION_TYPE, ACTION_TYPE.AIRPLANE_MODE.ordinal());
+                    intent = new Intent(this, ConnectionsActivity.class);
                     startActivity(intent);
                     break;
                 case 1:
@@ -97,6 +96,13 @@ public class SettingsActivity extends BaseActionActivity {
                 case 6:
                     gotoQRcode();
                     break;
+
+                case 100:
+                    intent = new Intent(this, OpenCloseActivity.class);
+                    intent.putExtra(Constant.INTENT_ACTION_TYPE, ACTION_TYPE.AIRPLANE_MODE.ordinal());
+                    startActivity(intent);
+                    break;
+
                 default:
                     break;
             }

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/SoundModeActivity.java

@@ -88,7 +88,7 @@ public class SoundModeActivity extends BaseActionActivity {
     public void clickItem(int position) {
         switch (position) {
             case 0:
-                Intent intent = new Intent(this, GridAdjustActivity.class);
+                Intent intent = new Intent(this, AdjustSeekbarActivity.class);
                 intent.putExtra(Constant.INTENT_VIEW_TYPE, 0);
                 startActivityForResult(intent, 112);
                 break;

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/VolumeActivity.java

@@ -87,7 +87,7 @@ public class VolumeActivity extends BaseActionActivity {
 
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
             if (i <= 1) {
-                Intent intent = new Intent(this, GridAdjustActivity.class);
+                Intent intent = new Intent(this, AdjustSeekbarActivity.class);
                 intent.putExtra(Constant.INTENT_VIEW_TYPE, i);
                 startActivityForResult(intent, 112);
             }

+ 0 - 0
app/src/main/res/layout/activity_change_progress.xml → app/src/main/res/layout/activity_adjust_grid.xml


+ 39 - 0
app/src/main/res/layout/activity_adjust_seekbar.xml

@@ -0,0 +1,39 @@
+<?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:background="@color/black"
+    android:orientation="vertical"
+    android:gravity="center_horizontal"
+    >
+
+    <ImageView
+        android:id="@+id/icon"
+        android:layout_width="41dp"
+        android:layout_height="41dp"
+        android:layout_marginTop="30dp"/>
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="6dp"
+        android:textSize="15sp"
+        android:textColor="#FFFFFFFF"
+        android:fontFamily="Roboto"
+        android:textStyle="bold"
+        />
+
+    <SeekBar
+        android:id="@+id/seekbar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="12dp"
+        android:layout_marginStart="10dp"
+        android:layout_marginEnd="10dp"
+        android:maxHeight="13dp"
+        android:thumb="@drawable/seekbar_thumb"
+        android:progressDrawable="@drawable/selector_seekbar_bg"
+        />
+
+</LinearLayout>