新增 FIGHT996 259

This commit is contained in:
xuhuixiang
2026-03-24 14:26:24 +08:00
parent bef1858c4d
commit 96a2912f43
57 changed files with 100 additions and 884 deletions

2
.idea/.name generated
View File

@@ -1 +1 @@
WebShell Wrapping

View File

@@ -44,6 +44,12 @@
<SelectionState runConfigName="bng1au"> <SelectionState runConfigName="bng1au">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
</SelectionState> </SelectionState>
<SelectionState runConfigName="gk9">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
<SelectionState runConfigName="fight996">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates> </selectionStates>
</component> </component>
</project> </project>

3
.idea/gradle.xml generated
View File

@@ -17,6 +17,8 @@
<option value="$PROJECT_DIR$/base_noupdata" /> <option value="$PROJECT_DIR$/base_noupdata" />
<option value="$PROJECT_DIR$/bng1au" /> <option value="$PROJECT_DIR$/bng1au" />
<option value="$PROJECT_DIR$/cucislot365" /> <option value="$PROJECT_DIR$/cucislot365" />
<option value="$PROJECT_DIR$/fight996" />
<option value="$PROJECT_DIR$/gk9" />
<option value="$PROJECT_DIR$/lorongjudi33" /> <option value="$PROJECT_DIR$/lorongjudi33" />
<option value="$PROJECT_DIR$/powercuci" /> <option value="$PROJECT_DIR$/powercuci" />
<option value="$PROJECT_DIR$/protein" /> <option value="$PROJECT_DIR$/protein" />
@@ -24,7 +26,6 @@
<option value="$PROJECT_DIR$/telur33" /> <option value="$PROJECT_DIR$/telur33" />
<option value="$PROJECT_DIR$/winway" /> <option value="$PROJECT_DIR$/winway" />
<option value="$PROJECT_DIR$/winway_jisuanqi" /> <option value="$PROJECT_DIR$/winway_jisuanqi" />
<option value="$PROJECT_DIR$/workbuddy" />
</set> </set>
</option> </option>
</GradleProjectSettings> </GradleProjectSettings>

View File

@@ -90,7 +90,7 @@ public abstract class BaseObserver<T> extends DisposableObserver<T> {
break; break;
case PARSE_ERROR: case PARSE_ERROR:
onError(PARSE_ERROR, "宇宙也是有尽头的"); onError(PARSE_ERROR, "鬼晓得是什么格式的数据 臣妾解析不出来!");
break; break;

View File

@@ -3,12 +3,15 @@
plugins { plugins {
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
id 'com.google.gms.google-services' version '4.3.15' apply false id 'com.google.gms.google-services' version '4.3.15' apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.plugin.compose) apply false
} }
ext { ext {
outputPath = "F:/webApp2" outputPath = "F:/webApp2"
versionCode = 133 versionCode = 134
versionName = "v1.3.3" versionName = "v1.3.4"
namespace = "com.webclip.base" namespace = "com.webclip.base"
JAVA_VERSION = JavaVersion.VERSION_17 JAVA_VERSION = JavaVersion.VERSION_17
} }

View File

@@ -1,10 +1,9 @@
plugins { plugins {
id 'com.android.application' id 'com.android.application'
id 'com.google.gms.google-services' id 'com.google.gms.google-services'
} }
def appOutPutName = "winway-calculator-v3.2.4-44" def appOutPutName = "fight996gjdfklgjdkfhgfkdlhdf"
android { android {
namespace rootProject.ext.namespace namespace rootProject.ext.namespace
@@ -12,26 +11,26 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 24 minSdkVersion 24
targetSdk 36 targetSdk 36
versionCode 45 versionCode rootProject.ext.versionCode
versionName "3.2.5" versionName rootProject.ext.versionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// //
applicationId "com.xyz.fight996"
//app大背景色 //app大背景色
applicationId "com.claw.workbuddy" resValue('color', 'windows_color', '#fcfcfc')
resValue('color', 'windows_color', '#FFFFFF')
// windows_colorstyle_color的上下渐变色 // windows_colorstyle_color的上下渐变色
resValue('color', 'style_color', '#FFFFFF') resValue('color', 'style_color', '#f6f6f6')
//app //app
resValue('string', 'app_name', 'WORKBUDDY') resValue('string', 'app_name', 'FIGHT996')
// //
buildConfigField "String", "BASE_URL", "\"https://winway33.site/\"" buildConfigField "String", "BASE_URL", "\"https://fight996au.com/\""
//ID //ID
buildConfigField "int", "USERID", "4" buildConfigField "int", "USERID", "259"
// //
buildConfigField "boolean", "IS_WHITE", "false" buildConfigField "boolean", "IS_WHITE", "false"
// //
buildConfigField "boolean", "IS_ROUND", "true" buildConfigField "boolean", "IS_ROUND", "false"
//IS_ROUND true时 logo的 0 ROUND_RADIUS的 dp2px的 //IS_ROUND true时 logo的 0 ROUND_RADIUS的 dp2px的
buildConfigField "int", "ROUND_RADIUS", "10" buildConfigField "int", "ROUND_RADIUS", "10"
// //
@@ -42,6 +41,7 @@ android {
} }
buildFeatures { buildFeatures {
buildConfig = true buildConfig = true
resValues = true
} }
signingConfigs { signingConfigs {
@@ -58,11 +58,6 @@ android {
keyPassword "123456" keyPassword "123456"
} }
} }
buildFeatures {
viewBinding true
}
buildTypes { buildTypes {
release { release {

View File

@@ -1,21 +1,21 @@
{ {
"project_info": { "project_info": {
"project_number": "66230459052", "project_number": "494326046923",
"project_id": "just-way-eb6ae", "project_id": "fight996-994a8",
"storage_bucket": "just-way-eb6ae.firebasestorage.app" "storage_bucket": "fight996-994a8.firebasestorage.app"
}, },
"client": [ "client": [
{ {
"client_info": { "client_info": {
"mobilesdk_app_id": "1:66230459052:android:1782975166f8b0bb35dd09", "mobilesdk_app_id": "1:494326046923:android:f6feac605a2e0536b37b4e",
"android_client_info": { "android_client_info": {
"package_name": "com.claw.workbuddy" "package_name": "com.xyz.fight996"
} }
}, },
"oauth_client": [], "oauth_client": [],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyAMJUxbpF8L-HqRKzcm4v8PErxBgo8UAMI" "current_key": "AIzaSyCIvHWOX0i0-FEITEC44bgK8zsA3KwEuPQ"
} }
], ],
"services": { "services": {

View File

@@ -13,19 +13,18 @@
android:name=".WebApplication" android:name=".WebApplication"
android:allowBackup="true" android:allowBackup="true"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:icon="@mipmap/app_logo" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config" android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/app_logo" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppThemeStart" android:theme="@style/AppThemeStart"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<activity <activity
android:name=".TestActivity" android:name=".IndexActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true" android:exported="true"
android:hardwareAccelerated="true"> android:hardwareAccelerated="true">

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View File

@@ -11,6 +11,7 @@ public class IndexActivity extends MainActivity {
initConfig(); initConfig();
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
initWinwdowLogoConfig(); initWinwdowLogoConfig();
// registerFCM();
} }
@Override @Override
@@ -51,8 +52,9 @@ public class IndexActivity extends MainActivity {
setBackDrawables(R.drawable.big_bg); setBackDrawables(R.drawable.big_bg);
setImageView(BuildConfig.IS_ROUND,BuildConfig.ROUND_RADIUS); setImageView(BuildConfig.IS_ROUND,BuildConfig.ROUND_RADIUS);
getWindow().getDecorView().setBackgroundResource(R.drawable.big_bg); getWindow().getDecorView().setBackgroundResource(R.drawable.big_bg);
//需要修改启动页logo在这里弄 一般启动页logo就是app_logo 没特殊要求 不要动 //需要修改启动页logo在这里弄 一般启动页logo就是app_logo 没特殊要求 不要动
// activityMain2Binding.showTopV.setImageResource(R.mipmap.ic_launcher);
} }
/** /**

View File

@@ -5,7 +5,6 @@ import android.content.Context;
import com.webclip.base.LogUtils; import com.webclip.base.LogUtils;
public class WebApplication extends Application { public class WebApplication extends Application {

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#FFFFFF</color>
</resources>

BIN
gk9/dskjweb.jks Normal file

Binary file not shown.

29
gk9/google-services.json Normal file
View File

@@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "38078249850",
"project_id": "g1k29-a80c6",
"storage_bucket": "g1k29-a80c6.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:38078249850:android:c30a00ff0fda995b5374c3",
"android_client_info": {
"package_name": "com.xyz.gk9webclip"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyD__DYnCJh2RTPR6TOFFZGOgYjwFetuhnc"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

View File

@@ -9,7 +9,13 @@ activity = "1.8.0"
constraintlayout = "2.1.4" constraintlayout = "2.1.4"
playServicesBase = "18.10.0" playServicesBase = "18.10.0"
viewpager2 = "1.1.0" viewpager2 = "1.1.0"
kotlin = "2.2.0"
coreKtx = "1.10.1"
uiAndroid = "1.10.5"
material3Jvmstubs = "1.4.0"
material3Android = "1.4.0"
navigationComposeAndroid = "2.9.7"
pluginCompose = "2.0.20"
[libraries] [libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" } junit = { group = "junit", name = "junit", version.ref = "junit" }
ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
@@ -20,7 +26,14 @@ activity = { group = "androidx.activity", name = "activity", version.ref = "acti
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
play-services-base = { group = "com.google.android.gms", name = "play-services-base", version.ref = "playServicesBase" } play-services-base = { group = "com.google.android.gms", name = "play-services-base", version.ref = "playServicesBase" }
viewpager2 = { group = "androidx.viewpager2", name = "viewpager2", version.ref = "viewpager2" } viewpager2 = { group = "androidx.viewpager2", name = "viewpager2", version.ref = "viewpager2" }
core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
ui-android = { group = "androidx.compose.ui", name = "ui-android", version.ref = "uiAndroid" }
material3-jvmstubs = { group = "androidx.compose.material3", name = "material3-jvmstubs", version.ref = "material3Jvmstubs" }
material3-android = { group = "androidx.compose.material3", name = "material3-android", version.ref = "material3Android" }
navigation-compose-android = { group = "androidx.navigation", name = "navigation-compose-android", version.ref = "navigationComposeAndroid" }
[plugins] [plugins]
android-application = { id = "com.android.application", version.ref = "agp" } android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
plugin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "pluginCompose" }

View File

@@ -21,17 +21,18 @@ dependencyResolutionManagement {
rootProject.name = "Wrapping" rootProject.name = "Wrapping"
include ':powercuci'//253 include ':powercuci'//253
include ':base'//只包含 版本更新功能 include ':base'//基础libs 只包含 版本更新功能
include ':base_noupdata' //包含版本更新功能 但是版本更新是跳外部浏览器 纯纯纯静 include ':base_noupdata' //基础libs 包含版本更新功能 但是版本更新是跳外部浏览器 纯纯纯静
include ':telur33'//100 include ':telur33'//100
include ':lorongjudi33'//252 include ':lorongjudi33'//252
include ':cucislot365'//242 include ':cucislot365'//242
include ':1xhuat'//248 include ':1xhuat'//248
include ':winway'//4 include ':winway'//4
include ':winway_jisuanqi'//4 include ':winway_jisuanqi'//4
include ':workbuddy'
include ':protein'//254 include ':protein'//254
include ':1xsgd'//255 include ':1xsgd'//255
include ':redspin8'//256 include ':redspin8'//256
include ':aa7au'//257 include ':aa7au'//257
include ':bng1au'//258 include ':bng1au'//258
include ':gk9'//213
include ':fight996'//259

View File

@@ -1,79 +0,0 @@
package com.webclip.base;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.webclip.base.comm.CommonAdapter;
import com.webclip.base.comm.ViewHolder;
import com.webclip.base.databinding.ScheduleMainBinding;
import java.util.ArrayList;
import java.util.List;
public class TestActivity extends AppCompatActivity {
ScheduleMainBinding activityStartBinding;
CommonAdapter commonHotGameAdapter;
List<Integer> liveList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().setNavigationBarColor(getColor(R.color.white));
super.onCreate(savedInstanceState);
View decor = getWindow().getDecorView();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
activityStartBinding = ScheduleMainBinding.inflate(getLayoutInflater());
setContentView(activityStartBinding.getRoot());
initAdapter();
initAdapterData();
}
private void initAdapterData() {
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
activityStartBinding.dateSelector.dateList.setLayoutManager(linearLayoutManager);
commonHotGameAdapter = new CommonAdapter<Integer>(TestActivity.this, R.layout.date_item, liveList) {
@Override
public void convert(ViewHolder holder, Integer s, int index) {
}
};
activityStartBinding.dateSelector.dateList.setAdapter(commonHotGameAdapter);
}
private void initAdapter() {
for (int i = 0 ;i<20;i++){
liveList.add(i);
}
activityStartBinding.scheduleList.setLayoutManager(new LinearLayoutManager(this));
commonHotGameAdapter = new CommonAdapter<Integer>(TestActivity.this, R.layout.schedule_item, liveList) {
@Override
public void convert(ViewHolder holder, Integer s, int index) {
}
};
activityStartBinding.scheduleList.setAdapter(commonHotGameAdapter);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}

View File

@@ -1,68 +0,0 @@
package com.webclip.base.comm;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
/**
* 通用列表适配器
* @param <T>
*/
public abstract class CommonAdapter<T> extends RecyclerView.Adapter<ViewHolder> {
protected Context mContext;
protected int mLayoutId;
protected List<T> mDatas;
protected LayoutInflater mInflater;
ViewHolder viewHolder;
public CommonAdapter(Context context, int layoutId, List<T> datas) {
mContext = context;
mInflater = LayoutInflater.from(context);
mLayoutId = layoutId;
mDatas = datas;
}
public void setDates(List<T> dates){
this.mDatas=dates;
// notifyItemRangeChanged(0,mDatas.size());
notifyDataSetChanged();
}
public void addDates(List<T> dates){
this.mDatas.addAll(dates);
notifyDataSetChanged();
}
public void addDates(int localSize){
int size=mDatas.size();
notifyItemRangeChanged(size,localSize);
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
viewHolder = ViewHolder.get(mContext, parent, mLayoutId);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
convert(holder, mDatas.get(position),position);
}
public abstract void convert(ViewHolder holder, T t,int index);
@Override
public int getItemCount() {
return mDatas.size();
}
}

View File

@@ -1,60 +0,0 @@
package com.webclip.base.comm;
import android.content.Context;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
/**
* 通用列表ViewHolder
*/
public class ViewHolder extends RecyclerView.ViewHolder {
private SparseArray<View> mViews;
private View mConvertView;
private Context mContext;
public ViewHolder(Context context, View itemView, ViewGroup parent) {
super(itemView);
mContext = context;
mConvertView = itemView;
mViews = new SparseArray<View>();
}
public static ViewHolder get(Context context, ViewGroup parent, int layoutId) {
View itemView = LayoutInflater.from(context).inflate(layoutId, parent,
false);
ViewHolder holder = new ViewHolder(context, itemView, parent);
return holder;
}
public <T extends View> T getView(int viewId) {
View view = mViews.get(viewId);
if (view == null) {
view = mConvertView.findViewById(viewId);
mViews.put(viewId, view);
}
return (T) view;
}
public ViewHolder setText(int viewId, String text)
{
TextView tv = getView(viewId);
tv.setText(text);
return this;
}
public ViewHolder setOnClickListener(int viewId, View.OnClickListener listener) {
View view = getView(viewId);
view.setOnClickListener(listener);
return this;
}
}

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="18dp" />
<stroke
android:width="1dp"
android:color="#4CAF50" />
<solid android:color="#FFFFFF" />
<padding
android:left="16dp"
android:top="8dp"
android:right="16dp"
android:bottom="8dp" />
</shape>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="18dp" />
<solid android:color="#4CAF50" />
<padding
android:left="16dp"
android:top="8dp"
android:right="16dp"
android:bottom="8dp" />
</shape>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#E0E0E0" />
</shape>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp" />
<solid android:color="#FF5722" />
<gradient
android:startColor="#FF5722"
android:endColor="#FF9800"
android:angle="90" />
</shape>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="12dp" />
<solid android:color="#E8F5E8" />
<stroke
android:width="1dp"
android:color="#4CAF50" />
</shape>

View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:paddingVertical="8dp"
android:paddingHorizontal="4dp">
<!-- 星期 -->
<TextView
android:id="@+id/day_of_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周五"
android:textColor="#666666"
android:textSize="12sp" />
<!-- 日期 -->
<TextView
android:id="@+id/day_number"
android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:text="13"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
android:background="@drawable/bg_date_unselected"
android:layout_marginTop="4dp" />
<!-- 比赛数量指示器 -->
<View
android:id="@+id/match_indicator"
android:layout_width="4dp"
android:layout_height="4dp"
android:background="#4CAF50"
android:visibility="visible"
android:layout_marginTop="4dp" />
</LinearLayout>

View File

@@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:paddingVertical="12dp">
<!-- 左箭头 -->
<ImageView
android:id="@+id/btn_prev"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:tint="#666666"
app:layout_constraintBottom_toBottomOf="@id/date_text"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/date_text" />
<!-- 当前日期 -->
<TextView
android:id="@+id/date_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2025年3月13日 周五"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/btn_today"
app:layout_constraintStart_toEndOf="@id/btn_prev"
app:layout_constraintTop_toTopOf="parent" />
<!-- 今天按钮 -->
<TextView
android:id="@+id/btn_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_today_button"
android:paddingHorizontal="12dp"
android:paddingVertical="4dp"
android:text="今天"
android:textColor="#4CAF50"
android:textSize="14sp"
app:layout_constraintEnd_toStartOf="@id/btn_next"
app:layout_constraintTop_toTopOf="parent" />
<!-- 右箭头 -->
<ImageView
android:id="@+id/btn_next"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="16dp"
android:tint="#666666"
app:layout_constraintBottom_toBottomOf="@id/date_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/date_text" />
<!-- 日期选择器 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/date_list"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:clipToPadding="false"
android:paddingStart="16dp"
android:paddingEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/date_text" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,304 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginVertical="8dp"
app:cardCornerRadius="8dp"
app:cardElevation="2dp"
app:cardBackgroundColor="#FFFFFF">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<!-- 状态标签 -->
<TextView
android:id="@+id/status_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_status_live"
android:paddingHorizontal="8dp"
android:paddingVertical="4dp"
android:text="直播中"
android:textColor="#FFFFFF"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- 比赛时间 -->
<TextView
android:id="@+id/match_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15:30"
android:textColor="#FF9800"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/match_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3月13日 周五"
android:textColor="#999999"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/match_time" />
<!-- 分隔线 -->
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginTop="10dp"
android:background="#E0E0E0"
app:layout_constraintTop_toBottomOf="@id/match_date"
app:layout_constraintStart_toStartOf="parent" />
<!-- 主队 -->
<LinearLayout
android:id="@+id/home_team_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider"
app:layout_constraintEnd_toStartOf="@id/score_layout"
app:layout_constraintHorizontal_weight="2">
<ImageView
android:id="@+id/home_team_logo"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@mipmap/app_logo"
/>
<TextView
android:id="@+id/home_team_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team A"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold"
android:layout_marginTop="8dp" />
<TextView
android:id="@+id/home_team_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="战绩: 15胜3负"
android:textColor="#666666"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- 比分区域 -->
<LinearLayout
android:id="@+id/score_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="15dp"
app:layout_constraintTop_toBottomOf="@id/divider"
app:layout_constraintStart_toEndOf="@id/home_team_layout"
app:layout_constraintEnd_toStartOf="@id/away_team_layout"
app:layout_constraintHorizontal_weight="2">
<TextView
android:id="@+id/match_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第3节 08:30"
android:textColor="#4CAF50"
android:textSize="13sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="8dp">
<TextView
android:id="@+id/home_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="78"
android:textColor="#333333"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" - "
android:textColor="#666666"
android:textSize="20sp"
android:layout_marginHorizontal="8dp" />
<TextView
android:id="@+id/away_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="65"
android:textColor="#333333"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/match_series"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="系列赛 2-1"
android:textColor="#999999"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- 客队 -->
<LinearLayout
android:id="@+id/away_team_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/divider"
app:layout_constraintStart_toEndOf="@id/score_layout"
app:layout_constraintHorizontal_weight="2">
<ImageView
android:id="@+id/away_team_logo"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@mipmap/app_logo"
/>
<TextView
android:id="@+id/away_team_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Team B"
android:textColor="#333333"
android:textSize="14sp"
android:textStyle="bold"
android:layout_marginTop="8dp" />
<TextView
android:id="@+id/away_team_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="战绩: 12胜6负"
android:textColor="#666666"
android:textSize="12sp"
android:layout_marginTop="4dp" />
</LinearLayout>
<!-- 比赛地点和联赛 -->
<LinearLayout
android:id="@+id/match_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/home_team_layout">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/app_logo"
android:tint="#666666" />
<TextView
android:id="@+id/match_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北京国家体育场"
android:textColor="#666666"
android:textSize="13sp"
android:layout_marginStart="8dp" />
<View
android:layout_width="1dp"
android:layout_height="12dp"
android:layout_marginHorizontal="12dp"
android:background="#E0E0E0" />
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@mipmap/app_logo"
android:tint="#666666" />
<TextView
android:id="@+id/league_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CBA 2025赛季"
android:textColor="#666666"
android:textSize="13sp"
android:layout_marginStart="8dp" />
</LinearLayout>
<!-- 底部按钮 -->
<LinearLayout
android:id="@+id/button_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="12dp"
android:gravity="center"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/match_info">
<!-- 顶部边框 -->
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginBottom="12dp"
android:background="#F0F0F0"
app:layout_constraintTop_toBottomOf="@id/match_info" />
<Button
android:id="@+id/btn_watch_live"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_weight="1"
android:layout_marginEnd="8dp"
android:background="@drawable/bg_button_primary"
android:text="观看直播"
android:textColor="#FFFFFF"
android:textSize="14sp" />
<Button
android:id="@+id/btn_statistics"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_weight="1"
android:background="@drawable/bg_button_outline"
android:text="比赛数据"
android:textColor="#4CAF50"
android:textSize="14sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>

View File

@@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5">
<!-- 标题栏 -->
<LinearLayout
android:id="@+id/title_bar"
android:layout_width="0dp"
android:layout_height="56dp"
android:background="#FFFFFF"
android:orientation="horizontal"
android:paddingHorizontal="16dp"
android:gravity="center_vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="赛事赛程"
android:textColor="#000000"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@mipmap/app_logo"
android:tint="#666666"/>
</LinearLayout>
<!-- 日期选择区域 -->
<include
android:id="@+id/date_selector"
layout="@layout/date_selector"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_bar" />
<!-- 筛选标签 -->
<LinearLayout
android:id="@+id/filter_layout"
android:layout_width="0dp"
android:layout_height="?actionBarSize"
android:orientation="horizontal"
android:background="#FFFFFF"
android:paddingHorizontal="16dp"
android:gravity="center_vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/date_selector">
<TextView
android:id="@+id/tab_all"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="全部"
android:textColor="#4CAF50"
android:textSize="14sp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/tab_live"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="进行中"
android:textColor="#666666"
android:textSize="14sp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/tab_upcoming"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="即将开始"
android:textColor="#666666"
android:textSize="14sp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/tab_finished"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="已结束"
android:textColor="#666666"
android:textSize="14sp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:background="?attr/selectableItemBackground" />
</LinearLayout>
<!-- 赛程列表 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/schedule_list"
android:layout_width="0dp"
android:layout_height="0dp"
android:clipToPadding="false"
android:paddingTop="8dp"
android:paddingBottom="16dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/filter_layout" />
<!-- 空状态 -->
<LinearLayout
android:id="@+id/empty_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/filter_layout">
<ImageView
android:layout_width="120dp"
android:layout_height="120dp"
android:tint="#CCCCCC" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂无比赛数据"
android:textColor="#999999"
android:textSize="16sp"
android:layout_marginTop="16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="今天没有安排比赛"
android:textColor="#BBBBBB"
android:textSize="14sp"
android:layout_marginTop="8dp" />
</LinearLayout>
<!-- 加载状态 -->
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/filter_layout" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 779 KiB