From b1adea1fdc2c3cfde40bbe28c1ceb18c308bf978 Mon Sep 17 00:00:00 2001
From: Ming <18642047181@163.com>
Date: Mon, 28 Mar 2022 03:00:57 +0800
Subject: [PATCH] =?UTF-8?q?[function]=E5=9F=BA=E7=A1=80=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 11 +-
.../skipping/activity/begin/BeginActivity.kt | 99 +++++++++++++++
.../activity/begin/BeginGridAdaper.kt | 61 ++++++++++
.../skipping/activity/begin/BeginPresenter.kt | 36 ++++++
.../activity/detail/DetailActivity.java | 2 +-
.../skipping/activity/home/HomeActivity.kt | 39 ++++--
.../skipping/activity/home/HomeGridAdaper.kt | 46 +++++--
.../skipping/activity/home/HomePresenter.kt | 20 +--
.../com/skipping/fragment/pair/DeviceBean.kt | 11 ++
.../skipping/fragment/pair/PairFragment.kt | 24 ++++
.../com/skipping/utils/ConnectManager.java | 34 ++++--
app/src/main/res/drawable/grid_24right.xml | 5 +
.../main/res/drawable/grid_chengji_change.xml | 6 +
app/src/main/res/layout/activity_begin.xml | 114 ++++++++++++++++++
app/src/main/res/layout/activity_setting.xml | 4 +-
app/src/main/res/layout/begin_item.xml | 46 +++++++
app/src/main/res/layout/fragment_pair.xml | 10 +-
app/src/main/res/layout/grid_item.xml | 58 +++++----
18 files changed, 559 insertions(+), 67 deletions(-)
create mode 100644 app/src/main/java/com/skipping/activity/begin/BeginActivity.kt
create mode 100644 app/src/main/java/com/skipping/activity/begin/BeginGridAdaper.kt
create mode 100644 app/src/main/java/com/skipping/activity/begin/BeginPresenter.kt
create mode 100644 app/src/main/java/com/skipping/fragment/pair/DeviceBean.kt
create mode 100644 app/src/main/res/drawable/grid_24right.xml
create mode 100644 app/src/main/res/drawable/grid_chengji_change.xml
create mode 100644 app/src/main/res/layout/activity_begin.xml
create mode 100644 app/src/main/res/layout/begin_item.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f4eae2a..dbc3e42 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,7 +31,13 @@
-
+
+
+
+
+
+
+
@@ -53,6 +59,9 @@
+
() {
+ lateinit var adaper: BeginGridAdaper
+ lateinit var detailBean: DetailActivityBean
+ lateinit var future: ScheduledFuture<*>
+
+ companion object {
+ val ID = "id"
+ val DATA = "data"
+ fun startBegin(activity: Activity, id: String) {
+ val intent = Intent(activity, BeginActivity::class.java)
+ val bundle = Bundle()
+ bundle.putString(ID, id)
+ intent.putExtra(DATA, bundle)
+ activity.startActivity(intent)
+ }
+ }
+
+ override fun getContentViewResId(): Int? {
+ return R.layout.activity_begin
+ }
+
+ override fun initStart() {
+ }
+
+ override fun initView() {
+ initPresnter()
+ }
+
+ override fun initData() {
+ p.getActivityDetail(intent.getBundleExtra(DATA).getString(ID))
+ begin_back.setOnClickListener {
+ finish()
+ }
+ begin_start.setOnClickListener {
+ if (detailBean.activityType == TIMING) {
+ //定时计数
+ var num = detailBean.activityValue
+ future = ThreadPoolUtil.getSingleton().scheduleWithFixedDelayMain({
+ if (num <= 0) {
+ future.cancel(false)
+ return@scheduleWithFixedDelayMain
+ }
+ num--
+ begin_type.text = TIMING_NAME + ": " + num + " 秒"
+ }, 0, 1000)
+
+ }
+
+ }
+ }
+
+ fun activityDetailResult(bean: DetailActivityBean) {
+ detailBean = bean
+ begin_name.text = bean.activityName
+ if (detailBean.activityType == TIMING) {
+ begin_type.text = TIMING_NAME + ": " + bean.activityValue + " 秒"
+ } else {
+ begin_type.text = NUMBER_NAME + ": " + bean.activityValue + " 个"
+ }
+ beginList.layoutManager = GridLayoutManager(this, 4)
+ adaper = BeginGridAdaper(this, bean.candidates[0])
+ beginList.adapter = adaper
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/activity/begin/BeginGridAdaper.kt b/app/src/main/java/com/skipping/activity/begin/BeginGridAdaper.kt
new file mode 100644
index 0000000..8fcd75b
--- /dev/null
+++ b/app/src/main/java/com/skipping/activity/begin/BeginGridAdaper.kt
@@ -0,0 +1,61 @@
+package com.skipping.activity.begin
+
+import android.content.Context
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.RelativeLayout
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.libs.utils.LogUtil
+import com.skipping.*
+import com.skipping.net.ActivityBean
+import com.skipping.net.DetailActivityBean
+import com.skipping.utils.DateUtils
+
+/**
+ * @author Ming
+ * 3/25/22
+ *
+ */
+class BeginGridAdaper(context: Context, list: List) : RecyclerView.Adapter() {
+ var list = list
+ var context = context
+ lateinit var onClick: (bean: DetailActivityBean.CandidatesBean) -> Unit
+
+ fun addData(list: List) {
+ this.list += list
+ notifyDataSetChanged()
+ }
+
+ fun setData(list: List) {
+ this.list = list
+ notifyDataSetChanged()
+ }
+
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BeginGridAdaper.Holder {
+ return Holder(LayoutInflater.from(context).inflate(R.layout.begin_item, parent, false))
+ }
+
+ override fun onBindViewHolder(holder: BeginGridAdaper.Holder, position: Int) {
+ holder.begin_item_name.text = list[position].name
+ holder.begin_item_id.text = list[position].studentID
+ }
+
+ override fun getItemCount(): Int {
+ return list.size
+ }
+
+ class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ var begin_item_name = itemView.findViewById(R.id.begin_item_name)
+ var begin_item_id = itemView.findViewById(R.id.begin_item_id)
+
+ }
+
+ fun setOnItemClickListener(onClick: (bean: DetailActivityBean.CandidatesBean) -> Unit) {
+ this.onClick = onClick
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/activity/begin/BeginPresenter.kt b/app/src/main/java/com/skipping/activity/begin/BeginPresenter.kt
new file mode 100644
index 0000000..9fa3330
--- /dev/null
+++ b/app/src/main/java/com/skipping/activity/begin/BeginPresenter.kt
@@ -0,0 +1,36 @@
+package com.skipping.activity.begin
+
+import android.os.Parcel
+import android.os.Parcelable
+import com.libs.fragment.BasePresenter
+import com.libs.network.CallBack
+import com.libs.network.Concise
+import com.libs.utils.ToastUtil
+import com.skipping.ACCOUNT
+import com.skipping.BASE_URL
+import com.skipping.PASSWORD
+import com.skipping.TOKEN
+import com.skipping.activity.IView
+import com.skipping.net.*
+import com.tencent.mmkv.MMKV
+
+/**
+ * @author Ming
+ * 3/24/22
+ *
+ */
+class BeginPresenter() : BasePresenter() {
+ val mmkv = MMKV.defaultMMKV()
+ val concise: Concise = object : Concise(BASE_URL) {}.addHeader("Token", mmkv?.decodeString(TOKEN)).build() as Concise
+
+ fun getActivityDetail(id: String) {
+ concise.request(v, concise.api.detailActivity(id), object : CallBack>{
+ override fun onSuccess(k: BaseBean?) {
+ v.activityDetailResult(k?.data!!)
+ }
+
+ override fun onFailed(e: Throwable?) {
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/activity/detail/DetailActivity.java b/app/src/main/java/com/skipping/activity/detail/DetailActivity.java
index bcc0ca6..82ed4ec 100644
--- a/app/src/main/java/com/skipping/activity/detail/DetailActivity.java
+++ b/app/src/main/java/com/skipping/activity/detail/DetailActivity.java
@@ -52,7 +52,7 @@ public class DetailActivity extends BaseActivity {
@Override
protected void initData() {
- connectManager = new ConnectManager(this);
+// connectManager = new ConnectManager(this,new ConnectManager.DeviceHandler());
String id = (String) getIntent().getBundleExtra("id").get("id");
recyclerview.setLayoutManager(new LinearLayoutManager(this));
adapter = new DetailAdapter(recyclerview);
diff --git a/app/src/main/java/com/skipping/activity/home/HomeActivity.kt b/app/src/main/java/com/skipping/activity/home/HomeActivity.kt
index 9adf677..bb79afe 100644
--- a/app/src/main/java/com/skipping/activity/home/HomeActivity.kt
+++ b/app/src/main/java/com/skipping/activity/home/HomeActivity.kt
@@ -2,14 +2,12 @@ package com.skipping.activity.home
import android.app.Activity
import android.content.Intent
-import android.view.DragEvent
import android.view.View
import androidx.core.content.ContextCompat
import androidx.core.view.GravityCompat
import androidx.drawerlayout.widget.DrawerLayout
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.libs.fragment.BaseActivity
import com.libs.utils.ActivityManager
import com.libs.utils.LogUtil
@@ -17,6 +15,7 @@ import com.libs.utils.ToastUtil
import com.skipping.NUMBER
import com.skipping.R
import com.skipping.TIMING
+import com.skipping.activity.begin.BeginActivity
import com.skipping.activity.perform.PerformActivity
import com.skipping.activity.setting.SettingActivity
import com.skipping.net.ActivityBean
@@ -41,6 +40,7 @@ class HomeActivity : BaseActivity() {
var choseCla: GradleBean? = null
lateinit var adaper: HomeGridAdaper
var position = 0
+ val layoutManager = GridLayoutManager(this, 3)
companion object {
fun startHome(activity: Activity) {
@@ -65,7 +65,7 @@ class HomeActivity : BaseActivity() {
create_activity.setOnClickListener {
drawerlayout.openDrawer(GravityCompat.START)
}
- p.getActivityList()
+ p.getActivityList(1)
p.getClassList()
choseClass.setOnClickListener {
bubbleWindow.show(chooseIV)
@@ -89,7 +89,6 @@ class HomeActivity : BaseActivity() {
}
})
-
ok_btn.setOnClickListener {
if (choseCla == null) {
ToastUtil.longToast("请选择班级")
@@ -129,7 +128,9 @@ class HomeActivity : BaseActivity() {
homeTitle.text = "跳绳数量"
}
- refreshLayout.setOnRefreshListener { p.getActivityList() }
+ refreshLayout.setOnRefreshListener {
+ p.getActivityList(1)
+ }
recyclerview.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
@@ -137,6 +138,13 @@ class HomeActivity : BaseActivity() {
refreshLayout.setEnabled(recyclerView.getChildCount() == 0 || recyclerView.getChildAt(0).getTop() >= 0)
}
})
+ recyclerview.setOnScrollChangeListener(object : View.OnScrollChangeListener {
+ override fun onScrollChange(v: View?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) {
+ if (layoutManager.findLastCompletelyVisibleItemPosition() >= 8 && p.loadBoolean) {
+ p.getActivityList(p.page + 1)
+ }
+ }
+ })
}
override fun initStart() {
@@ -144,15 +152,24 @@ class HomeActivity : BaseActivity() {
}
- fun showList(list: List) {
- if(refreshLayout.isRefreshing){
+ fun showList(page: Int, list: List) {
+ LogUtil.e(page, list.size)
+ if (refreshLayout.isRefreshing) {
refreshLayout.isRefreshing = false
}
+ if (page != 1) {
+ adaper.addData(list)
+ return
+ }
if (!::adaper.isInitialized) {
- recyclerview.layoutManager = GridLayoutManager(this, 3)
+ recyclerview.layoutManager = layoutManager
adaper = HomeGridAdaper(this, list)
- adaper.setOnItemClickListener {
- PerformActivity.startActivity(this, it.id.toString(), DateUtils.dealDateFormat(it.createdAt))
+ adaper.setOnItemChangeClickListener {
+ LogUtil.e("111111")
+// PerformActivity.startActivity(this, it.id.toString(), DateUtils.dealDateFormat(it.createdAt))
+ }
+ adaper.setOnItemStartClickListener {
+ BeginActivity.startBegin(this, it.id.toString())
}
recyclerview.adapter = adaper
} else {
@@ -180,7 +197,7 @@ class HomeActivity : BaseActivity() {
}
fun addActivityResult() {
- p.getActivityList()
+ p.getActivityList(1)
}
diff --git a/app/src/main/java/com/skipping/activity/home/HomeGridAdaper.kt b/app/src/main/java/com/skipping/activity/home/HomeGridAdaper.kt
index c1af76e..6de3445 100644
--- a/app/src/main/java/com/skipping/activity/home/HomeGridAdaper.kt
+++ b/app/src/main/java/com/skipping/activity/home/HomeGridAdaper.kt
@@ -1,15 +1,15 @@
package com.skipping.activity.home
import android.content.Context
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.RelativeLayout
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
-import com.skipping.NUMBER_NAME
-import com.skipping.R
-import com.skipping.TIMING
-import com.skipping.TIMING_NAME
+import com.libs.utils.LogUtil
+import com.skipping.*
import com.skipping.net.ActivityBean
import com.skipping.utils.DateUtils
@@ -21,8 +21,13 @@ import com.skipping.utils.DateUtils
class HomeGridAdaper(context: Context, list: List) : RecyclerView.Adapter() {
var list = list
var context = context
- lateinit var onClick: (bean: ActivityBean) -> Unit
+ lateinit var onClickChange: (bean: ActivityBean) -> Unit
+ lateinit var onClickStart: (bean: ActivityBean) -> Unit
+ fun addData(list: List) {
+ this.list += list
+ notifyDataSetChanged()
+ }
fun setData(list: List) {
this.list = list
@@ -40,11 +45,25 @@ class HomeGridAdaper(context: Context, list: List) : RecyclerView.
holder.className.text = list[position].id.toString()
if (list[position].activityType == TIMING) {
holder.status.text = TIMING_NAME
+ holder.gridItemNum.text = list[position].value.toString() + " 秒"
} else {
holder.status.text = NUMBER_NAME
+ holder.gridItemNum.text = list[position].value.toString() + " 个"
}
- if (onClick != null) {
- holder.itemView.setOnClickListener { onClick.invoke(list[position]) }
+ if (onClickChange != null) {
+ holder.gridItemChangeRL.setOnClickListener { onClickChange.invoke(list[position]) }
+
+ }
+ if (onClickStart != null) {
+ holder.gridItemStartRL.setOnClickListener { onClickStart.invoke(list[position]) }
+ }
+
+ if (list[position].status == UNFINISHED) {
+ holder.gridItemChange.setBackgroundResource(R.drawable.grid_chengji_change)
+ holder.gridItemChange.text = "编辑"
+ } else {
+ holder.gridItemChange.setBackgroundResource(R.drawable.grid_chengji)
+ holder.gridItemChange.text = "成绩"
}
}
@@ -57,9 +76,18 @@ class HomeGridAdaper(context: Context, list: List) : RecyclerView.
var time = itemView.findViewById(R.id.time)
var className = itemView.findViewById(R.id.className)
var status = itemView.findViewById(R.id.status)
+ var gridItemChange = itemView.findViewById(R.id.gridItemChange)
+ var gridItemStart = itemView.findViewById(R.id.gridItemStart)
+ var gridItemChangeRL = itemView.findViewById(R.id.gridItemChangeRL)
+ var gridItemStartRL = itemView.findViewById(R.id.gridItemStartRL)
+ var gridItemNum = itemView.findViewById(R.id.gridItemNum)
}
- fun setOnItemClickListener(onClick: (bean: ActivityBean) -> Unit) {
- this.onClick = onClick
+ fun setOnItemChangeClickListener(onClickChange: (bean: ActivityBean) -> Unit) {
+ this.onClickChange = onClickChange
+ }
+
+ fun setOnItemStartClickListener(onClickStart: (bean: ActivityBean) -> Unit) {
+ this.onClickStart = onClickStart
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/activity/home/HomePresenter.kt b/app/src/main/java/com/skipping/activity/home/HomePresenter.kt
index 470ff26..5ee5306 100644
--- a/app/src/main/java/com/skipping/activity/home/HomePresenter.kt
+++ b/app/src/main/java/com/skipping/activity/home/HomePresenter.kt
@@ -1,16 +1,11 @@
package com.skipping.activity.home
-import android.text.Editable
import com.libs.fragment.BasePresenter
import com.libs.network.CallBack
import com.libs.network.Concise
-import com.libs.utils.LogUtil
import com.libs.utils.ToastUtil
-import com.skipping.ACCOUNT
import com.skipping.BASE_URL
-import com.skipping.PASSWORD
import com.skipping.TOKEN
-import com.skipping.activity.IView
import com.skipping.net.*
import com.tencent.mmkv.MMKV
@@ -22,21 +17,26 @@ import com.tencent.mmkv.MMKV
class HomePresenter() : BasePresenter() {
val mmkv = MMKV.defaultMMKV()
val concise: Concise = object : Concise(BASE_URL) {}.addHeader("Token", mmkv?.decodeString(TOKEN)).build() as Concise
+ var loadBoolean = true
+ var page = 1
- fun getActivityList() {
+ fun getActivityList(page: Int) {
+ this.page = page
val bean = ActivityReqBean()
- bean.index = 1
- bean.pageSize = 12
+ loadBoolean = false
+ bean.index = page
+ bean.pageSize = 15
concise.request(v, concise.api.getActivityList(bean), object : CallBack>> {
override fun onSuccess(k: BaseBean>?) {
+ loadBoolean = k?.data?.size == 15
if (k != null) {
- v.showList(k.data)
+ v.showList(page, k.data)
}
}
override fun onFailed(e: Throwable?) {
+ loadBoolean = false
}
-
})
}
diff --git a/app/src/main/java/com/skipping/fragment/pair/DeviceBean.kt b/app/src/main/java/com/skipping/fragment/pair/DeviceBean.kt
new file mode 100644
index 0000000..6e312fd
--- /dev/null
+++ b/app/src/main/java/com/skipping/fragment/pair/DeviceBean.kt
@@ -0,0 +1,11 @@
+package com.skipping.fragment.pair
+
+/**
+ * @author Ming
+ * 3/27/22
+ *
+ */
+class DeviceBean {
+ var id: Int? = null
+ var mac: String? = null
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/fragment/pair/PairFragment.kt b/app/src/main/java/com/skipping/fragment/pair/PairFragment.kt
index 90ad28d..d565acb 100644
--- a/app/src/main/java/com/skipping/fragment/pair/PairFragment.kt
+++ b/app/src/main/java/com/skipping/fragment/pair/PairFragment.kt
@@ -1,10 +1,18 @@
package com.skipping.fragment.pair
import android.os.Bundle
+import android.os.Handler
+import android.os.Message
import android.view.View
import androidx.core.content.ContextCompat
import com.libs.fragment.BaseFragment
+import com.libs.utils.LogUtil
+import com.loop.loopminisdk.LoopDevice
+import com.loop.loopminisdk.LoopHost
+import com.loop.loopminisdk.LoopMessage
+import com.loop.loopminisdk.LoopMini
import com.skipping.R
+import com.skipping.utils.ConnectManager
import kotlinx.android.synthetic.main.fragment_pair.*
/**
@@ -14,11 +22,16 @@ import kotlinx.android.synthetic.main.fragment_pair.*
*/
class PairFragment : BaseFragment() {
var position = 0
+ lateinit var manager: ConnectManager
+
override fun getLayoutId(): Int {
return R.layout.fragment_pair;
}
override fun initView(view: View?, savedInstanceState: Bundle?) {
+ pairStatus.setOnClickListener {
+ manager.pairDevice(1)
+ }
pair_btn.setOnClickListener {
if (position == 0) {
@@ -44,5 +57,16 @@ class PairFragment : BaseFragment() {
}
override fun initData() {
+ manager = ConnectManager.getSingleton(activity)
+ }
+
+ override fun onResume() {
+ super.onResume()
+ manager.resume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ manager.pause()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/skipping/utils/ConnectManager.java b/app/src/main/java/com/skipping/utils/ConnectManager.java
index fb6aadc..74183db 100644
--- a/app/src/main/java/com/skipping/utils/ConnectManager.java
+++ b/app/src/main/java/com/skipping/utils/ConnectManager.java
@@ -37,13 +37,26 @@ public class ConnectManager {
private LoopMini loopMax;
private Set loopDeviceSet = new HashSet<>();
private LoopDevice loopDevice;
- private EditText editText;
private LoopHost loopHost;
private Activity activity;
- private MyHandler mHandler;
+ private Handler mHandler;
private int position;
private ScheduledFuture scheduledFuture;
- private Button btn, btn2, btn3, btn4, btn5;
+ private static volatile ConnectManager connectManager;
+
+ public static ConnectManager getSingleton(Activity activity) {
+ if (connectManager == null) {
+ synchronized (ThreadPoolUtil.class) {
+ if (connectManager == null) {
+ connectManager = new ConnectManager(activity);
+ }
+ }
+ }
+ return connectManager;
+ }
+
+
+
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -69,7 +82,7 @@ public class ConnectManager {
public ConnectManager(Activity activity) {
this.activity = activity;
- mHandler = new MyHandler();
+ mHandler = new DeviceHandler();
}
private final ServiceConnection usbConnection = new ServiceConnection() {
@@ -77,6 +90,13 @@ public class ConnectManager {
public void onServiceConnected(ComponentName arg0, IBinder arg1) {
loopMax = ((LoopMini.UsbBinder) arg1).getService();
loopMax.setHandler(mHandler);
+ ThreadPoolUtil.getSingleton().scheduleMain(new Runnable() {
+ @Override
+ public void run() {
+ loopMax.getHostInfo();
+ loopMax.openPairMode();
+ }
+ },1000);
}
@Override
@@ -156,10 +176,6 @@ public class ConnectManager {
}, 0, 10);
}
- public interface ConnectInterface {
- void connect(LoopDevice loopDevice);
- }
-
public void resume(){
setFilters();
@@ -193,7 +209,7 @@ public class ConnectManager {
}
- private class MyHandler extends Handler {
+ public class DeviceHandler extends Handler {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
diff --git a/app/src/main/res/drawable/grid_24right.xml b/app/src/main/res/drawable/grid_24right.xml
new file mode 100644
index 0000000..ed3d80b
--- /dev/null
+++ b/app/src/main/res/drawable/grid_24right.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/grid_chengji_change.xml b/app/src/main/res/drawable/grid_chengji_change.xml
new file mode 100644
index 0000000..47f69b9
--- /dev/null
+++ b/app/src/main/res/drawable/grid_chengji_change.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_begin.xml b/app/src/main/res/layout/activity_begin.xml
new file mode 100644
index 0000000..863055a
--- /dev/null
+++ b/app/src/main/res/layout/activity_begin.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index b64182f..c24e8b4 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -15,6 +15,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_pair.xml b/app/src/main/res/layout/fragment_pair.xml
index a5e2c81..552b2dd 100644
--- a/app/src/main/res/layout/fragment_pair.xml
+++ b/app/src/main/res/layout/fragment_pair.xml
@@ -10,7 +10,7 @@
android:layout_width="match_parent"
android:layout_height="180dp"
android:orientation="vertical"
- android:paddingLeft="90dp"
+ android:paddingLeft="70dp"
android:paddingRight="90dp">
+ android:textColor="@color/color_50_FF0000"
+ android:textSize="20dp" />
@@ -114,9 +116,9 @@
diff --git a/app/src/main/res/layout/grid_item.xml b/app/src/main/res/layout/grid_item.xml
index a52823c..7c2d569 100644
--- a/app/src/main/res/layout/grid_item.xml
+++ b/app/src/main/res/layout/grid_item.xml
@@ -33,7 +33,6 @@
android:textSize="28dp" />
-
@@ -110,37 +111,52 @@
+ android:paddingLeft="20dp">
-
+ android:paddingTop="20dp"
+ android:paddingBottom="20dp">
-
+
+
-
+ android:paddingTop="20dp"
+ android:paddingBottom="20dp">
+
+
+
+