发布f20251107 版本
@@ -7,7 +7,7 @@ android {
|
|||||||
compileSdk 36
|
compileSdk 36
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.hmwl.f20251101"
|
applicationId "com.hmwl.f20251107"
|
||||||
minSdk 30
|
minSdk 30
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 1
|
versionCode 1
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
@@ -1,7 +1,97 @@
|
|||||||
{
|
{
|
||||||
|
"4": [
|
||||||
|
"4.png"
|
||||||
|
],
|
||||||
|
"5": [
|
||||||
|
"5.png"
|
||||||
|
],
|
||||||
|
"6": [
|
||||||
|
"6.png"
|
||||||
|
],
|
||||||
|
"7": [
|
||||||
|
"7.png"
|
||||||
|
],
|
||||||
"11": [
|
"11": [
|
||||||
"11.png"
|
"11.png"
|
||||||
],
|
],
|
||||||
|
"12": [
|
||||||
|
"12.png"
|
||||||
|
],
|
||||||
|
"13": [
|
||||||
|
"13.png"
|
||||||
|
],
|
||||||
|
"14": [
|
||||||
|
"14.png"
|
||||||
|
],
|
||||||
|
"21": [
|
||||||
|
"21.png"
|
||||||
|
],
|
||||||
|
"23": [
|
||||||
|
"23.png"
|
||||||
|
],
|
||||||
|
"24": [
|
||||||
|
"24.png"
|
||||||
|
],
|
||||||
|
"26": [
|
||||||
|
"26.png"
|
||||||
|
],
|
||||||
|
"27": [
|
||||||
|
"27.png"
|
||||||
|
],
|
||||||
|
"32": [
|
||||||
|
"32.png"
|
||||||
|
],
|
||||||
|
"37": [
|
||||||
|
"37.png"
|
||||||
|
],
|
||||||
|
"40": [
|
||||||
|
"40.png"
|
||||||
|
],
|
||||||
|
"45": [
|
||||||
|
"45.png"
|
||||||
|
],
|
||||||
|
"48": [
|
||||||
|
"48.png"
|
||||||
|
],
|
||||||
|
"49": [
|
||||||
|
"49.png"
|
||||||
|
],
|
||||||
|
"53": [
|
||||||
|
"53.png"
|
||||||
|
],
|
||||||
|
"56": [
|
||||||
|
"56.png"
|
||||||
|
],
|
||||||
|
"59": [
|
||||||
|
"59.png"
|
||||||
|
],
|
||||||
|
"62": [
|
||||||
|
"62.png"
|
||||||
|
],
|
||||||
|
"65": [
|
||||||
|
"65.png"
|
||||||
|
],
|
||||||
|
"68": [
|
||||||
|
"68.png"
|
||||||
|
],
|
||||||
|
"71": [
|
||||||
|
"71.png"
|
||||||
|
],
|
||||||
|
"76": [
|
||||||
|
"76.png"
|
||||||
|
],
|
||||||
|
"77": [
|
||||||
|
"77.png"
|
||||||
|
],
|
||||||
|
"78": [
|
||||||
|
"78.png"
|
||||||
|
],
|
||||||
|
"81": [
|
||||||
|
"81.png"
|
||||||
|
],
|
||||||
|
"82": [
|
||||||
|
"82.png"
|
||||||
|
],
|
||||||
"action24": [
|
"action24": [
|
||||||
"000000.png",
|
"000000.png",
|
||||||
"000001.png",
|
"000001.png",
|
||||||
@@ -28,98 +118,5 @@
|
|||||||
"000022.png",
|
"000022.png",
|
||||||
"000023.png",
|
"000023.png",
|
||||||
"000024.png"
|
"000024.png"
|
||||||
],
|
|
||||||
"12": [
|
|
||||||
"12.png"
|
|
||||||
],
|
|
||||||
"13": [
|
|
||||||
"13.png"
|
|
||||||
],
|
|
||||||
"14": [
|
|
||||||
"14.png"
|
|
||||||
],
|
|
||||||
"21": [
|
|
||||||
"21.png"
|
|
||||||
],
|
|
||||||
"23": [
|
|
||||||
"23.png"
|
|
||||||
],
|
|
||||||
"24": [
|
|
||||||
"24.png"
|
|
||||||
],
|
|
||||||
"25": [
|
|
||||||
"25.png"
|
|
||||||
],
|
|
||||||
"26": [
|
|
||||||
"26.png"
|
|
||||||
],
|
|
||||||
"27": [
|
|
||||||
"27.png"
|
|
||||||
],
|
|
||||||
"32": [
|
|
||||||
"32.png"
|
|
||||||
],
|
|
||||||
"37": [
|
|
||||||
"37.png"
|
|
||||||
],
|
|
||||||
"4": [
|
|
||||||
"4.png"
|
|
||||||
],
|
|
||||||
"40": [
|
|
||||||
"40.png"
|
|
||||||
],
|
|
||||||
"41": [
|
|
||||||
"41.png"
|
|
||||||
],
|
|
||||||
"45": [
|
|
||||||
"45.png"
|
|
||||||
],
|
|
||||||
"48": [
|
|
||||||
"48.png"
|
|
||||||
],
|
|
||||||
"49": [
|
|
||||||
"49.png"
|
|
||||||
],
|
|
||||||
"5": [
|
|
||||||
"5.png"
|
|
||||||
],
|
|
||||||
"53": [
|
|
||||||
"53.png"
|
|
||||||
],
|
|
||||||
"56": [
|
|
||||||
"56.png"
|
|
||||||
],
|
|
||||||
"59": [
|
|
||||||
"59.png"
|
|
||||||
],
|
|
||||||
"6": [
|
|
||||||
"6.png"
|
|
||||||
],
|
|
||||||
"62": [
|
|
||||||
"62.png"
|
|
||||||
],
|
|
||||||
"65": [
|
|
||||||
"65.png"
|
|
||||||
],
|
|
||||||
"68": [
|
|
||||||
"68.png"
|
|
||||||
],
|
|
||||||
"7": [
|
|
||||||
"7.png"
|
|
||||||
],
|
|
||||||
"71": [
|
|
||||||
"71.png"
|
|
||||||
],
|
|
||||||
"76": [
|
|
||||||
"76.png"
|
|
||||||
],
|
|
||||||
"77": [
|
|
||||||
"77.png"
|
|
||||||
],
|
|
||||||
"78": [
|
|
||||||
"78.png"
|
|
||||||
],
|
|
||||||
"81": [
|
|
||||||
"81.png"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
[
|
|
||||||
"11.png",
|
|
||||||
"12.png",
|
|
||||||
"13.png",
|
|
||||||
"14.png",
|
|
||||||
"21.png",
|
|
||||||
"23.png",
|
|
||||||
"24.png",
|
|
||||||
"25.png",
|
|
||||||
"26.png",
|
|
||||||
"27.png",
|
|
||||||
"32.png",
|
|
||||||
"37.png",
|
|
||||||
"4.png",
|
|
||||||
"40.png",
|
|
||||||
"41.png",
|
|
||||||
"45.png",
|
|
||||||
"48.png",
|
|
||||||
"49.png",
|
|
||||||
"5.png",
|
|
||||||
"53.png",
|
|
||||||
"56.png",
|
|
||||||
"59.png",
|
|
||||||
"6.png",
|
|
||||||
"62.png",
|
|
||||||
"65.png",
|
|
||||||
"68.png",
|
|
||||||
"7.png",
|
|
||||||
"71.png",
|
|
||||||
"76.png",
|
|
||||||
"77.png",
|
|
||||||
"78.png",
|
|
||||||
"81.png"
|
|
||||||
]
|
|
||||||
@@ -33,10 +33,10 @@ public class MainActivity extends FaceActivity
|
|||||||
protected void onCreate(Bundle savedInstanceState)
|
protected void onCreate(Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
Motion motion = new Motion();
|
Motion motion = new Motion();
|
||||||
motion.type = "11";
|
motion.type = "4";
|
||||||
motion.png_names.add("11.png");
|
motion.png_names.add("4.png");
|
||||||
InitArg initArg = new InitArg();
|
InitArg initArg = new InitArg();
|
||||||
initArg.action_fps = 30;
|
initArg.action_fps = 29;
|
||||||
initArg.zoom = 1.5f;
|
initArg.zoom = 1.5f;
|
||||||
initArg.motion = motion;
|
initArg.motion = motion;
|
||||||
SetInitArg(initArg.toJson());
|
SetInitArg(initArg.toJson());
|
||||||
@@ -44,7 +44,7 @@ public class MainActivity extends FaceActivity
|
|||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
FaceInit(this);
|
FaceInit(this);
|
||||||
Toast.makeText(this, "11.png", Toast.LENGTH_LONG).show();
|
Toast.makeText(this, "4.png", Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
String GetCurMotionState(int index)
|
String GetCurMotionState(int index)
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">f20251101</string>
|
<string name="app_name">f20251107</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -28,8 +28,19 @@ def collect_png_from_subfolders(base_path=".", output_file="../example/src/main/
|
|||||||
if os.path.isdir(item_path):
|
if os.path.isdir(item_path):
|
||||||
subfolders.append(item)
|
subfolders.append(item)
|
||||||
|
|
||||||
# 按文件夹名排序
|
# 按文件夹名数字排序:纯数字的按数字大小排序,非纯数字的排在最后
|
||||||
subfolders.sort()
|
def numeric_sort_key(folder_name):
|
||||||
|
"""
|
||||||
|
排序键函数:
|
||||||
|
- 如果是纯数字,按数字大小排序
|
||||||
|
- 如果不是纯数字,排在最后,按原字符串排序
|
||||||
|
"""
|
||||||
|
if folder_name.isdigit():
|
||||||
|
return (0, int(folder_name)) # 纯数字,类型标记为0,按数字排序
|
||||||
|
else:
|
||||||
|
return (1, folder_name) # 非纯数字,类型标记为1,排在后面
|
||||||
|
|
||||||
|
subfolders.sort(key=numeric_sort_key)
|
||||||
|
|
||||||
# 收集每个子文件夹中的PNG文件
|
# 收集每个子文件夹中的PNG文件
|
||||||
all_png_files = {}
|
all_png_files = {}
|
||||||
@@ -50,8 +61,22 @@ def collect_png_from_subfolders(base_path=".", output_file="../example/src/main/
|
|||||||
if os.path.isfile(file_path) and file.lower().endswith('.png'):
|
if os.path.isfile(file_path) and file.lower().endswith('.png'):
|
||||||
png_filenames.append(file)
|
png_filenames.append(file)
|
||||||
|
|
||||||
# 按文件名排序
|
# 按文件名数字排序:纯数字的按数字大小排序,非纯数字的排在最后
|
||||||
png_filenames.sort()
|
def png_numeric_sort_key(filename):
|
||||||
|
"""
|
||||||
|
PNG文件名排序键函数:
|
||||||
|
- 如果是纯数字(去掉.png后缀后),按数字排序
|
||||||
|
- 如果不是纯数字,排在最后,按原字符串排序
|
||||||
|
"""
|
||||||
|
# 移除.png后缀
|
||||||
|
name_without_ext = os.path.splitext(filename)[0]
|
||||||
|
# 如果是纯数字,按数字排序
|
||||||
|
if name_without_ext.isdigit():
|
||||||
|
return (0, int(name_without_ext))
|
||||||
|
else:
|
||||||
|
return (1, filename)
|
||||||
|
|
||||||
|
png_filenames.sort(key=png_numeric_sort_key)
|
||||||
|
|
||||||
# 如果有PNG文件,添加到结果中
|
# 如果有PNG文件,添加到结果中
|
||||||
if png_filenames:
|
if png_filenames:
|
||||||
@@ -74,11 +99,19 @@ def collect_png_from_subfolders(base_path=".", output_file="../example/src/main/
|
|||||||
print(f" 其中 {total_folders} 个文件夹包含PNG文件")
|
print(f" 其中 {total_folders} 个文件夹包含PNG文件")
|
||||||
print(f" 总共找到 {total_files} 个PNG文件")
|
print(f" 总共找到 {total_files} 个PNG文件")
|
||||||
|
|
||||||
|
# 显示文件夹类型统计
|
||||||
|
numeric_folders = [f for f in all_png_files.keys() if f.isdigit()]
|
||||||
|
non_numeric_folders = [f for f in all_png_files.keys() if not f.isdigit()]
|
||||||
|
|
||||||
|
print(f" 数字文件夹: {len(numeric_folders)} 个")
|
||||||
|
print(f" 非数字文件夹: {len(non_numeric_folders)} 个")
|
||||||
|
|
||||||
# 显示找到的文件
|
# 显示找到的文件
|
||||||
if all_png_files:
|
if all_png_files:
|
||||||
print("\n找到的PNG文件:")
|
print("\n找到的PNG文件:")
|
||||||
for folder, files in all_png_files.items():
|
for folder, files in all_png_files.items():
|
||||||
print(f" {folder}/:")
|
folder_type = "数字" if folder.isdigit() else "非数字"
|
||||||
|
print(f" {folder}/ ({folder_type}):")
|
||||||
for filename in files:
|
for filename in files:
|
||||||
print(f" - {filename}")
|
print(f" - {filename}")
|
||||||
|
|
||||||
|
|||||||