作者 liyan

我的页面到学情反馈

正在显示 30 个修改的文件 包含 693 行增加35 行删除
... ... @@ -11,18 +11,19 @@
<!-- 往sdcard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 在sdcard中创建/删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
<uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions" />
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:usesCleartextTraffic="true"
android:hardwareAccelerated="true"
android:supportsRtl="true"
android:theme="@style/Theme.SecurityTrainMaster">
android:theme="@style/Theme.SecurityTrainMaster"
android:usesCleartextTraffic="true">
<meta-data
android:name="design_width_in_dp"
android:value="375" />
... ... @@ -65,10 +66,12 @@
<activity
android:name=".ui.home.activity.SearchActivity"
android:screenOrientation="portrait" />
<activity android:name=".ui.home.activity.DatabaseActivity"
android:screenOrientation="portrait"/>
<activity android:name=".ui.home.activity.DatabaseDetailActivity"
android:screenOrientation="portrait"/>
<activity
android:name=".ui.home.activity.DatabaseActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.home.activity.DatabaseDetailActivity"
android:screenOrientation="portrait" />
<activity android:name=".ui.home.activity.WebViewActivity" />
<activity android:name=".ui.home.activity.TextCourseActivity" />
<activity android:name=".ui.home.activity.TextDetailActivity" />
... ... @@ -81,15 +84,20 @@
<activity android:name=".ui.bank.activity.ExamTypeActivity" />
<activity android:name=".ui.bank.activity.ExamDetailActivity" />
<activity android:name=".ui.bank.activity.ExamCardActivity" />
<activity android:name=".ui.home.activity.OnlineDetailActivity"
android:configChanges="orientation|keyboardHidden|screenSize"/>
<activity android:name=".ui.home.activity.LiveCourseActivity"/>
<activity android:name=".ui.mine.activity.EditPersonalInfoActivity"/>
<activity android:name=".ui.mine.activity.ChangePwdActivity"/>
<activity android:name=".ui.mine.activity.ChangePhoneActivity"/>
<activity android:name=".ui.mine.activity.MyErrorQuestionActivity"/>
<activity android:name=".ui.mine.activity.QuestionRecordActivity"/>
<activity android:name=".ui.mine.activity.MyCredentialsActivity"/>
<activity
android:name=".ui.home.activity.OnlineDetailActivity"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity android:name=".ui.home.activity.LiveCourseActivity" />
<activity android:name=".ui.mine.activity.EditPersonalInfoActivity" />
<activity android:name=".ui.mine.activity.ChangePwdActivity" />
<activity android:name=".ui.mine.activity.ChangePhoneActivity" />
<activity android:name=".ui.mine.activity.MyErrorQuestionActivity" />
<activity android:name=".ui.mine.activity.QuestionRecordActivity" />
<activity android:name=".ui.mine.activity.MyCredentialsActivity" />
<activity android:name=".ui.mine.activity.AcademicFeedbackActivity" />
<activity android:name=".ui.mine.activity.CredentialsUpLoadActivity" />
<activity android:name=".ui.mine.activity.MyCredentialsDetailActivity" />
<activity android:name=".ui.mine.activity.OfflineExerciseActivity" />
</application>
... ...
package com.br_technology.securitytrain_master.ui.mine.activity
import com.br_technology.securitytrain_master.databinding.ActivityAcademicFeedbackBinding
import com.br_technology.securitytrain_master.ui.mine.viewmodel.AcademicFeedbackViewModel
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleActivity
/**
* Time: 8/2/2021 14:28
* 学情反馈
* Author: Captain
* Description: 初见时你很迷人
*/
class AcademicFeedbackActivity :
BaseLifeCycleActivity<AcademicFeedbackViewModel, ActivityAcademicFeedbackBinding>(
ActivityAcademicFeedbackBinding::inflate
) {
override fun initDataObserver() {
}
override fun initData() {
super.initData()
}
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.activity
import android.view.View
import com.br_technology.securitytrain_master.R
import com.br_technology.securitytrain_master.databinding.ActivityCredentialsUploadBinding
import com.br_technology.securitytrain_master.ui.mine.viewmodel.CredentialsUpLoadViewModel
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleActivity
/**
* Time: 8/2/2021 13:55
* Author: Captain
* Description: 初见时你很迷人
*/
class CredentialsUpLoadActivity :
BaseLifeCycleActivity<CredentialsUpLoadViewModel, ActivityCredentialsUploadBinding>(
ActivityCredentialsUploadBinding::inflate
), View.OnClickListener {
override fun initDataObserver() {
}
override fun initData() {
super.initData()
binding.apply {
tvUpload.setOnClickListener(this@CredentialsUpLoadActivity)
}
}
override fun onClick(v: View?) {
when (v!!.id) {
R.id.tv_upload -> {
}
}
}
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.activity
import com.br_technology.securitytrain_master.R
import com.br_technology.securitytrain_master.databinding.ActivityMyCredentialsBinding
import com.br_technology.securitytrain_master.ui.home.activity.TextDetailActivity
import com.br_technology.securitytrain_master.ui.home.adapter.ResultAdapter
import com.br_technology.securitytrain_master.ui.home.pojo.RecommendData
import com.br_technology.securitytrain_master.ui.mine.adapter.MyCredentialsAdapter
import com.br_technology.securitytrain_master.ui.mine.viewmodel.MyCredentialsViewModel
import com.br_technology.securitytrain_master.view.listener.OnItemClickListener
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleActivity
/**
... ... @@ -20,6 +26,29 @@ class MyCredentialsActivity :
override fun initData() {
super.initData()
binding.apply {
val recommendList = mutableListOf(
RecommendData(
R.mipmap.my_credentials_upload_bg,
"思维",
"从这个角度"
),
)
val myCredentialsAdapter = MyCredentialsAdapter()
myCredentialsAdapter.addListener(object : OnItemClickListener<RecommendData> {
override fun onClick(position: Int, data: RecommendData) {
recommendList.clear()
recommendList.add(RecommendData(
R.mipmap.banner,
"思维导图",
"从这个角度看"
))
myCredentialsAdapter.addListAndPosition(recommendList,0)
}
})
recyclerview.adapter = myCredentialsAdapter
myCredentialsAdapter.addList(recommendList)
}
}
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.activity
import com.br_technology.securitytrain_master.databinding.ActivityMyCredentialsDetailBinding
import com.br_technology.securitytrain_master.ui.mine.viewmodel.MyCredentialDetailViewModel
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleActivity
/**
* Time: 8/2/2021 11:37
* Author: Captain
* Description: 初见时你很迷人
*/
class MyCredentialsDetailActivity :
BaseLifeCycleActivity<MyCredentialDetailViewModel, ActivityMyCredentialsDetailBinding>(
ActivityMyCredentialsDetailBinding::inflate
) {
override fun initDataObserver() {
}
override fun initData() {
super.initData()
binding.apply {
tvReUpload.setOnClickListener({
//重新上传
startActivity(CredentialsUpLoadActivity::class.java)
})
}
}
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.activity
import com.br_technology.securitytrain_master.databinding.ActivityOfflineExerciseBinding
import com.br_technology.securitytrain_master.ui.mine.viewmodel.OfflineExerciseViewModel
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleActivity
/**
* Time: 8/2/2021 14:19
* Author: Captain
* Description: 初见时你很迷人
*/
class OfflineExerciseActivity :
BaseLifeCycleActivity<OfflineExerciseViewModel, ActivityOfflineExerciseBinding>(
ActivityOfflineExerciseBinding::inflate
) {
override fun initDataObserver() {
}
override fun initData() {
super.initData()
}
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.viewbinding.ViewBinding
import com.br_technology.securitytrain_master.base.view.BaseAdapter
import com.br_technology.securitytrain_master.base.view.BaseMultiAdapter
import com.br_technology.securitytrain_master.base.view.BaseViewHolder
import com.br_technology.securitytrain_master.databinding.ItemMockExamnationBinding
import com.br_technology.securitytrain_master.databinding.ItemMyCredentialsUploadBinding
import com.br_technology.securitytrain_master.databinding.ItemMycredentialsShowBinding
import com.br_technology.securitytrain_master.expand.glideRound
import com.br_technology.securitytrain_master.ui.home.pojo.RecommendData
import com.br_technology.securitytrain_master.ui.home.pojo.VideoCourse
/**
* Time: 8/2/2021 9:06
* Author: Captain
* Description: 初见时你很迷人
*/
class MyCredentialsAdapter : BaseAdapter<RecommendData, ItemMyCredentialsUploadBinding>() {
override fun getViewBinding(
context: Context,
parent: ViewGroup,
viewType: Int,
from: LayoutInflater
): ViewBinding {
return ItemMyCredentialsUploadBinding.inflate(from, parent, false)
}
override fun onBind(
holder: ItemMyCredentialsUploadBinding,
position: Int,
data: RecommendData
) {
if (holder is ItemMyCredentialsUploadBinding) {
holder.ivBg.glideRound(data.pic, 16)
} else if (holder is ItemMycredentialsShowBinding) {
holder.ivBg.glideRound(data.pic, 16)
holder.tvName.text = data.name
holder.tvTime.text = data.info
}
}
}
\ No newline at end of file
... ...
... ... @@ -4,9 +4,7 @@ import android.view.View
import com.br_technology.securitytrain_master.R
import com.br_technology.securitytrain_master.databinding.FragmentMineBinding
import com.br_technology.securitytrain_master.ui.home.viewmodel.MineViewModel
import com.br_technology.securitytrain_master.ui.mine.activity.EditPersonalInfoActivity
import com.br_technology.securitytrain_master.ui.mine.activity.MyErrorQuestionActivity
import com.br_technology.securitytrain_master.ui.mine.activity.QuestionRecordActivity
import com.br_technology.securitytrain_master.ui.mine.activity.*
import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleFragment
/**
... ... @@ -15,7 +13,7 @@ import com.wjx.android.wanandroidmvvm.base.view.BaseLifeCycleFragment
* des:
*/
class MineFragment
:BaseLifeCycleFragment<MineViewModel,FragmentMineBinding>(FragmentMineBinding::inflate),
: BaseLifeCycleFragment<MineViewModel, FragmentMineBinding>(FragmentMineBinding::inflate),
View.OnClickListener {
override fun initDataObserver() {
... ... @@ -33,43 +31,51 @@ class MineFragment
rlMineLiaotianjilu.setOnClickListener(this@MineFragment)
rlMineTousuyujianyi.setOnClickListener(this@MineFragment)
rlMineLianxikefu.setOnClickListener(this@MineFragment)
tvOfflineExercise.setOnClickListener(this@MineFragment)
}
}
override fun onClick(v: View?) {
when(v!!.id){
R.id.iv_edit_info ->{
when (v!!.id) {
R.id.tv_offline_exercise -> {
//线下培训
startActivity(OfflineExerciseActivity::class.java)
}
R.id.iv_edit_info -> {
//编辑个人信息
startActivity(EditPersonalInfoActivity :: class.java)
startActivity(EditPersonalInfoActivity::class.java)
}
R.id.rl_mine_cuoti ->{
R.id.rl_mine_cuoti -> {
//我的错题
startActivity(MyErrorQuestionActivity :: class.java)
startActivity(MyErrorQuestionActivity::class.java)
}
R.id.rl_mine_datijilu ->{
R.id.rl_mine_datijilu -> {
//答题记录
startActivity(QuestionRecordActivity :: class.java)
startActivity(QuestionRecordActivity::class.java)
}
R.id.mine_zhengjian ->{
R.id.mine_zhengjian -> {
//我的证件
startActivity(MyCredentialsActivity::class.java)
}
R.id.rl_mine_shoucang ->{
R.id.rl_mine_shoucang -> {
//我的收藏
}
R.id.rl_mine_liaotianjilu ->{
R.id.rl_mine_liaotianjilu -> {
//我的聊天记录
}
R.id.rl_mine_tousuyujianyi ->{
R.id.rl_mine_tousuyujianyi -> {
//投诉与建议
}
R.id.rl_mine_lianxikefu ->{
R.id.rl_mine_lianxikefu -> {
//联系客服
}
... ...
package com.br_technology.securitytrain_master.ui.mine.repository
import androidx.lifecycle.MutableLiveData
import com.br_technology.securitytrain_master.base.common.State
import com.wjx.android.wanandroidmvvm.base.repository.ApiRepository
/**
* Time: 8/2/2021 14:29
* Author: Captain
* Description: 初见时你很迷人
*/
class AcademicFeedbackRepository(val loadState: MutableLiveData<State>) : ApiRepository() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.repository
import androidx.lifecycle.MutableLiveData
import com.br_technology.securitytrain_master.base.common.State
import com.wjx.android.wanandroidmvvm.base.repository.ApiRepository
/**
* Time: 8/2/2021 13:56
* Author: Captain
* Description: 初见时你很迷人
*/
class CredentialsUpLoadRepository(val loadState: MutableLiveData<State>) : ApiRepository() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.repository
import androidx.lifecycle.MutableLiveData
import com.br_technology.securitytrain_master.base.common.State
import com.wjx.android.wanandroidmvvm.base.repository.ApiRepository
/**
* Time: 8/2/2021 11:41
* Author: Captain
* Description: 初见时你很迷人
*/
class MyCredentialsDetailRepository(val loadState: MutableLiveData<State>) : ApiRepository() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.repository
import androidx.lifecycle.MutableLiveData
import com.br_technology.securitytrain_master.base.common.State
import com.wjx.android.wanandroidmvvm.base.repository.ApiRepository
/**
* Time: 8/2/2021 14:19
* Author: Captain
* Description: 初见时你很迷人
*/
class OfflineExerciseRepository(val loadState: MutableLiveData<State>) : ApiRepository() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.viewmodel
import com.br_technology.securitytrain_master.ui.mine.repository.AcademicFeedbackRepository
import com.wjx.android.wanandroidmvvm.base.viewmodel.BaseViewModel
/**
* Time: 8/2/2021 14:29
* Author: Captain
* Description: 初见时你很迷人
*/
class AcademicFeedbackViewModel : BaseViewModel<AcademicFeedbackRepository>() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.viewmodel
import com.br_technology.securitytrain_master.ui.mine.repository.CredentialsUpLoadRepository
import com.wjx.android.wanandroidmvvm.base.viewmodel.BaseViewModel
/**
* Time: 8/2/2021 13:56
* Author: Captain
* Description: 初见时你很迷人
*/
class CredentialsUpLoadViewModel : BaseViewModel<CredentialsUpLoadRepository>() {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.viewmodel
import com.br_technology.securitytrain_master.ui.mine.repository.MyCredentialsDetailRepository
import com.wjx.android.wanandroidmvvm.base.viewmodel.BaseViewModel
/**
* Time: 8/2/2021 11:42
* Author: Captain
* Description: 初见时你很迷人
*/
class MyCredentialDetailViewModel : BaseViewModel<MyCredentialsDetailRepository> {
}
\ No newline at end of file
... ...
package com.br_technology.securitytrain_master.ui.mine.viewmodel
import com.br_technology.securitytrain_master.ui.mine.repository.OfflineExerciseRepository
import com.wjx.android.wanandroidmvvm.base.viewmodel.BaseViewModel
/**
* Time: 8/2/2021 14:20
* Author: Captain
* Description: 初见时你很迷人
*/
class OfflineExerciseViewModel : BaseViewModel<OfflineExerciseRepository>() {
}
\ No newline at end of file
... ...
... ... @@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/color_eff2" />
<corners android:radius="4dp" />
<corners android:radius="8dp" />
</shape>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/color_eff2" />
<corners android:radius="4dp" />
</shape>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="8dp" />
</shape>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/layout_tool_bar" />
<com.br_technology.securitytrain_master.view.ViewToolBar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:toolTitle="证书上传" />
<ImageView
android:layout_width="311dp"
android:layout_height="208dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="33dp"
android:src="@mipmap/upload_credentials_bg" />
<LinearLayout
android:layout_width="311dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:background="@drawable/solid_eff2_8"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:text="选择证件类型"
android:textColor="@color/color_32"
android:textSize="14sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:src="@mipmap/ic_arrow" />
</LinearLayout>
<LinearLayout
android:layout_width="311dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:background="@drawable/solid_eff2_8"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:text="有效期时间"
android:textColor="@color/color_32"
android:textSize="14sp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp"
android:background="@null"
android:hint="请输入"
android:textColor="@color/color_32"
android:textColorHint="@color/color_96"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
</LinearLayout>
<TextView
android:id="@+id/tv_upload"
android:layout_width="343dp"
android:layout_height="44dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:layout_marginBottom="42dp"
android:background="@drawable/solid_25_4"
android:gravity="center"
android:text="上传"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
\ No newline at end of file
... ...
... ... @@ -61,6 +61,7 @@
android:layout_height="wrap_content"/>
<ImageView
android:visibility="invisible"
android:layout_marginEnd="16dp"
android:layout_gravity="center_vertical"
android:src="@mipmap/ic_arrow"
... ...
... ... @@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/layout_tool_bar" />
... ... @@ -12,4 +11,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:toolTitle="我的证书" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:overScrollMode="never"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/layout_tool_bar" />
<com.br_technology.securitytrain_master.view.ViewToolBar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:toolTitle="我的证书" />
<ImageView
android:layout_width="311dp"
android:layout_height="208dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="33dp"
android:scaleType="fitXY"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:layout_width="311dp"
android:layout_height="156dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:background="@drawable/solid_ffffff_8"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:drawableStart="@mipmap/credentials_icon"
android:drawablePadding="9dp"
android:text="三级电焊工证"
android:textColor="@color/color_32"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="16dp"
android:text="有效截止时间"
android:textColor="@color/color_32"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:gravity="end"
android:text="2020-02-02"
android:textColor="@color/color_96"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="12dp"
android:text="更新时间"
android:textColor="@color/color_32"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:gravity="end"
android:text="2020-02-02"
android:textColor="@color/color_96"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="12dp"
android:text="初始取证时间"
android:textColor="@color/color_32"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="41dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:gravity="end"
android:text="2020-02-02"
android:textColor="@color/color_96"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
</LinearLayout>
<TextView
android:id="@+id/tv_re_upload"
android:layout_width="343dp"
android:layout_height="44dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:layout_marginBottom="42dp"
android:background="@drawable/solid_25_4"
android:gravity="center"
android:text="重新上传"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
... ...
... ... @@ -96,6 +96,7 @@
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_offline_exercise"
android:textColor="@color/color_32"
android:textSize="12sp"
android:drawablePadding="8dp"
... ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_bg"
android:layout_marginTop="16dp"
android:layout_marginStart="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/my_credentials_upload_bg" />
</LinearLayout>
\ No newline at end of file
... ...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="160dp"
android:layout_height="226dp"
android:layout_marginStart="20dp"
android:layout_marginTop="16dp"
android:background="@drawable/solid_ffffff_8"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_bg"
android:layout_marginTop="16dp"
android:layout_gravity="center_horizontal"
android:layout_width="128dp"
android:layout_height="128dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/tv_name"
android:text="三级电焊证"
android:textColor="@color/color_32"
android:textSize="14sp"
android:layout_marginTop="12dp"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv_time"
android:layout_marginBottom="16dp"
android:text="有效期:2020-09-09"
android:textColor="@color/color_96"
android:textSize="12sp"
android:layout_marginTop="8dp"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
... ...