liuzhenxing 3 年之前
父节点
当前提交
3134868e95

+ 17 - 0
.idea/deploymentTargetDropDown.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="deploymentTargetDropDown">
+    <targetSelectedWithDropDown>
+      <Target>
+        <type value="QUICK_BOOT_TARGET" />
+        <deviceKey>
+          <Key>
+            <type value="VIRTUAL_DEVICE_PATH" />
+            <value value="$USER_HOME$/.android/avd/xplora_watch_400.avd" />
+          </Key>
+        </deviceKey>
+      </Target>
+    </targetSelectedWithDropDown>
+    <timeTargetWasSelectedWithDropDown value="2022-06-23T07:18:09.885662Z" />
+  </component>
+</project>

+ 1 - 0
.idea/gradle.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>

+ 9 - 4
app/src/main/java/com/xplora/xpsettings/Activity/SettingsActivity.java

@@ -9,6 +9,8 @@ import com.xplora.xpsettings.Adapter.SettingsAdapter;
 import com.xplora.xpsettings.Model.WatchModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.SettingApplication;
+import com.xplora.xpsettings.Utils.Constant;
+import com.xplora.xpsettings.Utils.ResUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -22,6 +24,8 @@ public class SettingsActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.list_activity);
 
+        ResUtils.initResUtils(this, Constant.PACKAGE_NAME);
+
         //标题
         setWatchTitle(getString(R.string.app_name));
 
@@ -31,11 +35,12 @@ public class SettingsActivity extends BaseActivity {
 
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.settings_title_array);
-        for (String s : stringList) {
+        for (int i = 0; i < stringList.length; i++) {
             WatchModel model = new WatchModel();
-            model.title = s.trim();
-            model.value = "";
-            model.isShowArrow = true;
+            model.title = stringList[i].trim();
+            ResUtils.getImageId("settings_bg_", i);
+            model.background = ResUtils.getImageId("settings_bg_", i);
+            //model.icon = ResUtils.getImageId("settings_bg_", i);
             mData.add(model);
         }
     }

+ 6 - 14
app/src/main/java/com/xplora/xpsettings/Adapter/SettingsAdapter.java

@@ -36,26 +36,18 @@ public class SettingsAdapter extends ArrayAdapter<WatchModel> {
         View view = LayoutInflater.from(getContext()).inflate(resourceId, null);//实例化一个对象
 
         TextView itemTitle = view.findViewById(R.id.item_title);
-        TextView itemDetailTitle = view.findViewById(R.id.item_title_detail);
+        ImageView itembackground = view.findViewById(R.id.item_background);
         ImageView itemIcon = view.findViewById(R.id.item_icon);
-        ImageView itemArrow = view.findViewById(R.id.item_arrow);
 
         if (itemTitle != null) {
             itemTitle.setText(model.title);
-            if (position == selectedItem)
-                itemTitle.setTextColor(getContext().getColor(R.color.blue));
         }
-        if (itemDetailTitle != null)
-            itemDetailTitle.setText(model.value);
-        if (itemIcon != null)
+        if (itembackground != null) {
+            itembackground.setImageResource(model.background);
+        }
+        if (itemIcon != null) {
             itemIcon.setImageResource(model.icon);
-        if (itemArrow != null)
-            itemArrow.setVisibility(model.isShowArrow ? View.VISIBLE : View.GONE);
-
+        }
         return view;
     }
-
-    public void setItemSelected(int item) {
-        selectedItem = item;
-    }
 }

+ 1 - 0
app/src/main/java/com/xplora/xpsettings/Model/WatchModel.java

@@ -3,6 +3,7 @@ package com.xplora.xpsettings.Model;
 public class WatchModel {
     public String title = "";
     public int icon = 0;
+    public int background = 0;
     public String value = "";
     public boolean isShowArrow = true;
     public boolean isSwitchOn = false;

+ 5 - 0
app/src/main/java/com/xplora/xpsettings/Utils/Constant.java

@@ -0,0 +1,5 @@
+package com.xplora.xpsettings.Utils;
+
+public class Constant {
+    public static String PACKAGE_NAME = "com.xplora.xpsettings";
+}

+ 73 - 0
app/src/main/java/com/xplora/xpsettings/Utils/ResUtils.java

@@ -0,0 +1,73 @@
+package com.xplora.xpsettings.Utils;
+import android.content.Context;
+
+public class ResUtils {
+    private static Context mSaveContext = null;
+    private static String mSavePackageName = null;
+
+    public static void initResUtils(Context context, String name) {
+        mSaveContext = context;
+        mSavePackageName = name;
+    }
+
+    public static String getString(int strId,Object...formatArgs) {
+        if (mSaveContext == null)
+            return null;
+        return mSaveContext.getResources().getString(strId, formatArgs);
+    }
+
+    public static int getStringId(String prefix, int index) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(prefix).append(index);
+
+        return ResUtils.getResourcesId(builder.toString(), "string");
+    }
+
+    public static int getImageId(String prefix, int index) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(prefix).append(index);
+
+        return ResUtils.getResourcesId(builder.toString(), "drawable");
+    }
+
+    public static int getWidgetId(String prefix, int index) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(prefix).append(index);
+
+        return ResUtils.getResourcesId(builder.toString(), "id");
+    }
+
+    public static int getLayoutId(String prefix, int index) {
+        StringBuilder builder = new StringBuilder();
+        builder.append(prefix).append(index);
+
+        return ResUtils.getResourcesId(builder.toString(), "layout");
+    }
+
+    public static int getResourcesId(String imageName, String defType) {
+        if (mSaveContext == null)
+            return 0;
+
+        return mSaveContext.getResources().getIdentifier(imageName, defType, mSavePackageName);
+    }
+
+    public static int getResourcesId(Context context, String packageName, String imageName, String defType) {
+        return context.getResources().getIdentifier(imageName, defType, packageName);
+    }
+
+    /**
+     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
+     */
+    public static int dip2px(float dpValue) {
+        final float scale = mSaveContext.getResources().getDisplayMetrics().density;
+        return (int) (dpValue * scale + 0.5f);
+    }
+
+    /**
+     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
+     */
+    public static int px2dip(float pxValue) {
+        final float scale = mSaveContext.getResources().getDisplayMetrics().density;
+        return (int) (pxValue / scale + 0.5f);
+    }
+}

二进制
app/src/main/res/drawable-xhdpi/settings_bg_0.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_1.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_10.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_11.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_2.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_3.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_4.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_5.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_6.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_7.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_8.png


二进制
app/src/main/res/drawable-xhdpi/settings_bg_9.png


+ 3 - 4
app/src/main/res/layout/item_settings.xml

@@ -7,7 +7,6 @@
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
         >
 
         <ImageView
@@ -15,18 +14,18 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
-            android:src="@drawable/settings_bg_0"
             />
 
         <TextView
             android:id="@+id/item_title"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
             android:layout_marginStart="12dp"
             android:fontFamily="Roboto"
-            android:layout_centerVertical="true"
+            android:textFontWeight="700"
             android:textColor="@color/white"
-            android:textSize="13sp" />
+            android:textSize="11dp" />
 
         <ImageView
             android:id="@+id/item_icon"

+ 12 - 6
app/src/main/res/values/arrays.xml

@@ -11,12 +11,18 @@
     </string-array>
 
     <string-array name="settings_title_array">
-        <item>WiFi</item>
-        <item>Brightness</item>
-        <item>ScreenOn-Time</item>
-        <item>NFC</item>
-        <item>QR-Code</item>
-        <item>About Device</item>
+        <item>Connections</item>
+        <item>Sound &amp; Vibration</item>
+        <item>Display</item>
+        <item>Language</item>
+        <item>QRcode</item>
+        <item>Updates</item>
+        <item>Restart</item>
+        <item>Shut down</item>
+        <item>About the watch</item>
+        <item>APN</item>
+        <item>Autolocks</item>
+        <item>Camera</item>
     </string-array>
 
     <string-array name="screen_time_value_array">