不发问题修复

这个提交包含在:
徐勤民 2024-08-25 22:07:43 +08:00
父节点 967cc87508
当前提交 194d27a6e7
共有 38 个文件被更改,包括 368 次插入146 次删除

查看文件

@ -34,6 +34,16 @@
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:replace="android:label"> tools:replace="android:label">
<activity
android:name=".ui.StartActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity <activity
android:name=".ui.AboutActivity" android:name=".ui.AboutActivity"
android:exported="false" /> android:exported="false" />
@ -43,8 +53,7 @@
<activity <activity
android:name=".ui.ChatActivity" android:name=".ui.ChatActivity"
android:exported="false" android:exported="false"
android:windowSoftInputMode="adjustNothing" android:windowSoftInputMode="adjustNothing" />
/>
<activity <activity
android:name=".ui.FeedbackActivity" android:name=".ui.FeedbackActivity"
android:exported="false" /> android:exported="false" />
@ -85,13 +94,7 @@
<activity <activity
android:name=".ui.WelcomeActivity" android:name=".ui.WelcomeActivity"
android:exported="true" android:exported="true"
android:screenOrientation="portrait"> android:screenOrientation="portrait"/>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"

查看文件

@ -2,7 +2,7 @@ package com.xuqinmin.android.app.model
data class SuggestAnchorData( data class SuggestAnchorData(
val userId: Int, val userId: Int?,
val num: Int, val num: Int,
val size: Int, val size: Int,
) )

查看文件

@ -44,6 +44,7 @@ class BlocklistActivity :
clipToOutline = true clipToOutline = true
outlineProvider = CircleProvider outlineProvider = CircleProvider
} }
holder.setImage(R.id.avatar, item.headImage)
holder.setBackgroundColor( holder.setBackgroundColor(
R.id.status, when (item.online) { R.id.status, when (item.online) {

查看文件

@ -50,6 +50,7 @@ import com.xuqm.base.extensions.showMessage
import com.xuqm.base.ui.BaseActivity import com.xuqm.base.ui.BaseActivity
import com.xuqm.sdhbwfu.core.common.TIME_FORMAT_DATE_ALL_2 import com.xuqm.sdhbwfu.core.common.TIME_FORMAT_DATE_ALL_2
import com.xuqm.sdhbwfu.core.extensions.gone import com.xuqm.sdhbwfu.core.extensions.gone
import com.xuqm.sdhbwfu.core.extensions.invisible
import com.xuqm.sdhbwfu.core.extensions.linearLayoutManager import com.xuqm.sdhbwfu.core.extensions.linearLayoutManager
import com.xuqm.sdhbwfu.core.extensions.linearLayoutManagerForHorizontal import com.xuqm.sdhbwfu.core.extensions.linearLayoutManagerForHorizontal
import com.xuqm.sdhbwfu.core.extensions.visible import com.xuqm.sdhbwfu.core.extensions.visible
@ -239,6 +240,8 @@ class ChatActivity : BaseActivity<ActivityChatBinding>() {
binding.startVideo2.gone() binding.startVideo2.gone()
binding.msgStartVideo.gone() binding.msgStartVideo.gone()
binding.more.gone() binding.more.gone()
binding.sendGift.gone()
binding.chatTop.gone()
} }
} }
@ -276,6 +279,13 @@ class ChatActivity : BaseActivity<ActivityChatBinding>() {
} }
vm.resultInfo.observe(this) { vm.resultInfo.observe(this) {
adapter1.setmDatas(it.labels) adapter1.setmDatas(it.labels)
if (it.labels.isEmpty()) {
binding.tags2.gone()
binding.line.gone()
} else {
binding.line.visible()
binding.tags2.visible()
}
} }
binding.title.text = toUser?.nickname binding.title.text = toUser?.nickname
@ -286,6 +296,7 @@ class ChatActivity : BaseActivity<ActivityChatBinding>() {
ImageHelper.load(binding.avatar, toUser?.avatar) ImageHelper.load(binding.avatar, toUser?.avatar)
ImageHelper.load(binding.avatar3, toUser?.avatar) ImageHelper.load(binding.avatar3, toUser?.avatar)
ImageHelper.load(binding.head, toUser?.avatar)
val color = when (toUser?.online) { val color = when (toUser?.online) {
0 -> Color.parseColor("#FFB9BECC") 0 -> Color.parseColor("#FFB9BECC")
1 -> Color.parseColor("#FF26D526") 1 -> Color.parseColor("#FF26D526")

查看文件

@ -102,14 +102,14 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
binding.birthday.text = value binding.birthday.text = value
} }
} }
binding.genderRoot.setOnClickListener { // binding.genderRoot.setOnClickListener {
AlertView( // AlertView(
"Choose Gender", "", "Cancel", arrayOf("Male", "Female"), null, mContext, // "Gender(Unchangeable)", "", "Cancel", arrayOf("Male", "Female"), null, mContext,
AlertView.Style.ActionSheet // AlertView.Style.ActionSheet
) { _, position -> // ) { _, position ->
binding.gender.text = if (position == 0) "Male" else "Female" // binding.gender.text = if (position == 0) "Male" else "Female"
}.show() // }.show()
} // }
binding.save.setOnClickListener { binding.save.setOnClickListener {
LoadingDialog.showDialog("") LoadingDialog.showDialog("")
val g = binding.gender.text.toString() val g = binding.gender.text.toString()
@ -170,8 +170,10 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
R.mipmap.avatar_upload, R.mipmap.avatar_upload,
it.headImage ?: R.mipmap.avatar_upload it.headImage ?: R.mipmap.avatar_upload
) )
vm.setAvatar(it.headImage)
binding.name.setText(it.nickname) binding.name.setText(it.nickname)
binding.birthday.text = it.age binding.birthday.text = it.age
binding.signature.setText(it.signature)
if (!it.country.isNullOrBlank()) { if (!it.country.isNullOrBlank()) {
country = it.country country = it.country
binding.country.text = CountryHelper.getCountryName(it.country) binding.country.text = CountryHelper.getCountryName(it.country)
@ -182,9 +184,11 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
vm.status_sgin.observe(this) { vm.status_sgin.observe(this) {
LoadingDialog.dismissDialog() LoadingDialog.dismissDialog()
it?.also { ImageHelper.load(
ImageHelper.load(binding.avatar, it) binding.avatar,
} R.mipmap.avatar_upload,
it ?: R.mipmap.avatar_upload
)
} }
vm.result.observe(this) { vm.result.observe(this) {
LoadingDialog.dismissDialog() LoadingDialog.dismissDialog()

查看文件

@ -2,6 +2,7 @@ package com.xuqinmin.android.app.ui
import android.os.Bundle import android.os.Bundle
import androidx.activity.viewModels import androidx.activity.viewModels
import com.xuqinmin.android.app.BuildConfig
import com.xuqinmin.android.app.R import com.xuqinmin.android.app.R
import com.xuqinmin.android.app.databinding.ActivityFeedbackBinding import com.xuqinmin.android.app.databinding.ActivityFeedbackBinding
import com.xuqinmin.android.app.viewmodel.VMFeedback import com.xuqinmin.android.app.viewmodel.VMFeedback
@ -29,6 +30,7 @@ class FeedbackActivity : BaseActivity<ActivityFeedbackBinding>() {
LoadingDialog.showDialog("") LoadingDialog.showDialog("")
vm.feedback(t, binding.titleEmail.text.toString()) vm.feedback(t, binding.titleEmail.text.toString())
} }
binding.name.text = "${BuildConfig.APP_Name} Team"
} }
override fun initData() { override fun initData() {

查看文件

@ -61,6 +61,7 @@ class FriendsActivity :
clipToOutline = true clipToOutline = true
outlineProvider = CircleProvider outlineProvider = CircleProvider
} }
holder.setImage(R.id.avatar, item.headImage)
holder.setBackgroundColor( holder.setBackgroundColor(
R.id.status, when (item.online) { R.id.status, when (item.online) {
@ -71,7 +72,7 @@ class FriendsActivity :
) )
holder.setBackgroundResource( holder.setBackgroundResource(
R.id.btn, R.id.btn,
if (item.status == 0) R.drawable.bg_cfd4e0_25 else R.drawable.bg_ff02a7_25 if (item.status == 0) R.drawable.bg_ff02a7_25 else R.drawable.bg_cfd4e0_25
) )
holder.setText( holder.setText(
R.id.btn, if (viewModel.type == 0) "Unfollow" else { R.id.btn, if (viewModel.type == 0) "Unfollow" else {

查看文件

@ -0,0 +1,106 @@
package com.xuqinmin.android.app.ui;
import android.content.Intent
import android.os.Bundle
import android.telephony.TelephonyManager
import androidx.activity.viewModels
import com.xuqinmin.android.app.MyApplication
import com.xuqinmin.android.app.R
import com.xuqinmin.android.app.common.DEVICE_ID
import com.xuqinmin.android.app.common.GOOGLE_ID
import com.xuqinmin.android.app.common.MCC
import com.xuqinmin.android.app.databinding.ActivityStartBinding
import com.xuqinmin.android.app.model.DataLogin
import com.xuqinmin.android.app.viewmodel.StartVM
import com.xuqm.base.common.AppManager
import com.xuqm.base.common.DeviceUuidFactory
import com.xuqm.base.common.GsonImplHelp
import com.xuqm.base.common.SHARE_LOGIN_OBJ
import com.xuqm.base.common.SHARE_UESR_ID
import com.xuqm.base.common.SHARE_UESR_TOKEN
import com.xuqm.base.common.ToolsHelper
import com.xuqm.base.dialog.loading.LoadingDialog
import com.xuqm.base.extensions.getStringForPreferences
import com.xuqm.base.extensions.putInt
import com.xuqm.base.extensions.putString
import com.xuqm.base.extensions.showMessage
import com.xuqm.base.ui.BaseActivity
class StartActivity : BaseActivity<ActivityStartBinding>() {
override fun getLayoutId(): Int = R.layout.activity_start
override fun fullscreen(): Boolean = true
private val vm: StartVM by viewModels()
override fun initView(savedInstanceState: Bundle?) {
super.initView(savedInstanceState)
AppManager.getInstance().logout()
}
override fun initData() {
super.initData()
val telManager = getSystemService(TELEPHONY_SERVICE) as TelephonyManager
val simOperator = telManager.simOperator
putString(DEVICE_ID, DeviceUuidFactory(mContext).deviceUuid.toString())
// putString(DEVICE_ID, DeviceUuidFactory(mContext).deviceUuid.toString()+"test111_"+ Random(2).toString())
putString(
MCC, if (telManager.simState == TelephonyManager.SIM_STATE_READY) simOperator.substring(
0, 3
) else "-1"
)
vm.result.observe(this) {
it?.also {
MyApplication.modelInit = it
}
val stringForPreferences = getStringForPreferences(SHARE_LOGIN_OBJ)
if (stringForPreferences.isNotEmpty()) {
LoadingDialog.showDialog("")
val googleId = getStringForPreferences(GOOGLE_ID)
vm.thirdLogin(
DataLogin(
getStringForPreferences(DEVICE_ID),
if (ToolsHelper.isNull(googleId)) getStringForPreferences(DEVICE_ID) else googleId,
if (ToolsHelper.isNull(googleId)) 0 else 2
)
)
} else {
startActivity(Intent(mContext, WelcomeActivity::class.java))
}
}
vm.resultLogin.observe(this) {
LoadingDialog.dismissDialog()
if (it == null) {
"Login failed, please try again later.".showMessage()
} else {
MyApplication.modelHideIn = it
putString(SHARE_LOGIN_OBJ, GsonImplHelp.get().toJson(it))
putString(SHARE_UESR_TOKEN, it.token)
putInt(SHARE_UESR_ID, it.userId)
if (it.isInfo == 0) {
startActivity(
Intent(
mContext, RegisterActivity::class.java
)
)
} else {
goToMain()
}
}
}
vm.init()
}
private fun goToMain() {
startActivity(
Intent(
mContext, MainActivity::class.java
)
)
mContext.finish()
}
}

查看文件

@ -1,12 +1,16 @@
package com.xuqinmin.android.app.ui.fragment package com.xuqinmin.android.app.ui.fragment
import android.content.Intent import android.content.Intent
import android.graphics.Color
import android.widget.LinearLayout
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import com.oikawaii.library.outline.CircleProvider import com.oikawaii.library.outline.CircleProvider
import com.oikawaii.library.outline.FilletProvider
import com.xuqinmin.android.app.MyApplication import com.xuqinmin.android.app.MyApplication
import com.xuqinmin.android.app.R import com.xuqinmin.android.app.R
import com.xuqinmin.android.app.databinding.FragmentMeBinding import com.xuqinmin.android.app.databinding.FragmentMeBinding
import com.xuqinmin.android.app.model.Balance import com.xuqinmin.android.app.model.Balance
import com.xuqinmin.android.app.model.Label
import com.xuqinmin.android.app.ui.BlocklistActivity import com.xuqinmin.android.app.ui.BlocklistActivity
import com.xuqinmin.android.app.ui.CoinStoreActivity import com.xuqinmin.android.app.ui.CoinStoreActivity
import com.xuqinmin.android.app.ui.EditActivity import com.xuqinmin.android.app.ui.EditActivity
@ -14,9 +18,17 @@ import com.xuqinmin.android.app.ui.FeedbackActivity
import com.xuqinmin.android.app.ui.FriendsActivity import com.xuqinmin.android.app.ui.FriendsActivity
import com.xuqinmin.android.app.ui.SettingActivity import com.xuqinmin.android.app.ui.SettingActivity
import com.xuqinmin.android.app.viewmodel.VMMe import com.xuqinmin.android.app.viewmodel.VMMe
import com.xuqm.base.adapter.CommonAdapter
import com.xuqm.base.adapter.ViewHolder
import com.xuqm.base.common.DimensHelper
import com.xuqm.base.common.ImageHelper import com.xuqm.base.common.ImageHelper
import com.xuqm.base.extensions.showMessage import com.xuqm.base.extensions.showMessage
import com.xuqm.base.ui.BaseFragment import com.xuqm.base.ui.BaseFragment
import com.xuqm.sdhbwfu.core.extensions.gone
import com.xuqm.sdhbwfu.core.extensions.linearLayoutManagerForHorizontal
import com.xuqm.sdhbwfu.core.extensions.loge
import com.xuqm.sdhbwfu.core.extensions.visibility
import com.xuqm.sdhbwfu.core.extensions.visible
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
@ -24,6 +36,7 @@ import org.greenrobot.eventbus.ThreadMode
class MeFragment : BaseFragment<FragmentMeBinding>() { class MeFragment : BaseFragment<FragmentMeBinding>() {
override fun getLayoutId(): Int = R.layout.fragment_me override fun getLayoutId(): Int = R.layout.fragment_me
private val vm: VMMe by viewModels() private val vm: VMMe by viewModels()
// private var labels: List<Label> = MyApplication.modelHideIn.labels
override fun initView() { override fun initView() {
super.initView() super.initView()
@ -34,10 +47,15 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
if (MyApplication.modelHideIn == null) { if (MyApplication.modelHideIn == null) {
"Failed to obtain user information".showMessage() "Failed to obtain user information".showMessage()
} }
binding.list.adapter = adapter
binding.list.linearLayoutManagerForHorizontal(mContext,0)
binding.add.setOnClickListener { binding.add.setOnClickListener {
mContext.startActivity(Intent(mContext, EditActivity::class.java)) mContext.startActivity(Intent(mContext, EditActivity::class.java))
} }
adapter.setItemClickListener { _, _, _ ->
mContext.startActivity(Intent(mContext, EditActivity::class.java))
}
binding.avatar.setOnClickListener { binding.avatar.setOnClickListener {
mContext.startActivity(Intent(mContext, EditActivity::class.java)) mContext.startActivity(Intent(mContext, EditActivity::class.java))
} }
@ -82,6 +100,14 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
MyApplication.modelHideIn.headImage MyApplication.modelHideIn.headImage
) )
binding.name.text = MyApplication.modelHideIn.nickname binding.name.text = MyApplication.modelHideIn.nickname
if (MyApplication.modelHideIn.labels.isNullOrEmpty()){
binding.list.gone()
binding.add.visible()
}else{
binding.list.visible()
binding.add.gone()
adapter.setmDatas(MyApplication.modelHideIn.labels)
}
} }
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
@ -107,4 +133,18 @@ class MeFragment : BaseFragment<FragmentMeBinding>() {
} }
} }
val adapter =
object : CommonAdapter<Label>(R.layout.item_tag, MyApplication.modelHideIn.labels) {
override fun convert(holder: ViewHolder, item: Label, position: Int) {
holder.setImage(R.id.icon, item.icon)
holder.setText(R.id.name, item.name)
holder.setTextColor(R.id.name, Color.parseColor("#ffffffff"))
holder.getView<LinearLayout>(R.id.root).apply {
clipToOutline = true
outlineProvider =
object : FilletProvider(DimensHelper.pxToDp(mContext, 30).toFloat()) {}
}
holder.setBackgroundColor(R.id.root, Color.parseColor(item.color))
}
}
} }

查看文件

@ -0,0 +1,88 @@
package com.xuqinmin.android.app.viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.xuqinmin.android.app.MyApplication
import com.xuqinmin.android.app.common.DEVICE_ID
import com.xuqinmin.android.app.model.DataInit
import com.xuqinmin.android.app.model.DataLogin
import com.xuqinmin.android.app.model.ModelHideIn
import com.xuqinmin.android.app.model.ModelInit
import com.xuqinmin.android.app.repository.Service
import com.xuqinmin.android.app.repository.ServiceCommon
import com.xuqm.base.common.AppManager
import com.xuqm.base.di.manager.HttpManager
import com.xuqm.base.extensions.getStringForPreferences
import com.xuqm.base.extensions.loge
import com.xuqm.base.extensions.showMessage
import com.xuqm.sdhbwfu.core.extensions.ioMain
import com.xuqm.sdhbwfu.core.extensions.subscribeBy
import com.xuqm.sdhbwfu.core.viewModel.BaseViewModel
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
class StartVM : BaseViewModel() {
private val _result = MutableLiveData<ModelInit>()
val result: LiveData<ModelInit> = _result
fun init() {
HttpManager.getApi(Service::class.java)
.init(DataInit(AppManager.getInstance().activity.getStringForPreferences(DEVICE_ID)))
.ioMain().subscribeBy({
"-----------------".loge()
_result.postValue(it)
it?.gifts.also { ite ->
ite?.let {
this.getGifts(ite)
}
}
it?.country.also { ite ->
ite?.let {
this.getCountry(ite)
}
}
}, {
_result.postValue(null)
showMessage(it)
"****************".loge()
}).adds()
}
private fun getGifts(url: String) {
HttpManager.getApi(MyApplication.appComponent1, ServiceCommon::class.java).getGifts(url)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe({
it.loge()
MyApplication.giftModelList.clear()
MyApplication.giftModelList.addAll(it)
}, {
it.message?.loge()
}).adds()
}
private fun getCountry(url: String) {
HttpManager.getApi(MyApplication.appComponent1, ServiceCommon::class.java).getCountry(url)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe({
it.loge()
MyApplication.country.clear()
it.Regions?.also { ite ->
MyApplication.country.addAll(ite)
}
}, {
it.message?.loge()
}).adds()
}
private val _resultLogin = MutableLiveData<ModelHideIn>()
val resultLogin: LiveData<ModelHideIn> = _resultLogin
fun thirdLogin(data: DataLogin) {
data.loge()
HttpManager.getApi(Service::class.java).thirdLogin(data).ioMain().subscribeBy({
_resultLogin.postValue(it)
}, {
_resultLogin.postValue(null)
}).adds()
}
}

查看文件

@ -37,6 +37,9 @@ class VMEdit : BaseViewModel() {
_status_sgin.postValue(null) _status_sgin.postValue(null)
}).adds() }).adds()
} }
fun setAvatar(url: String) {
_status_sgin.postValue(url)
}
//签字图片上传 //签字图片上传
fun signUpload(contentType: String, url: String, file: File) { fun signUpload(contentType: String, url: String, file: File) {

查看文件

@ -40,7 +40,7 @@ class VMSuggestAnchor : BaseListViewModel<HistoryModel>() {
fun suggestAnchor(userId: Int) { fun suggestAnchor(userId: Int) {
add(HttpManager.getApi(Service::class.java) add(HttpManager.getApi(Service::class.java)
.suggestAnchor(SuggestAnchorData(userId, 1, 9)) .suggestAnchor(SuggestAnchorData(null, 0, 9))
.ioMain() .ioMain()
.subscribeBy( .subscribeBy(
{ {

查看文件

@ -73,7 +73,7 @@
android:id="@+id/empty" android:id="@+id/empty"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="visible" android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/top"> app:layout_constraintTop_toBottomOf="@+id/top">
<ImageView <ImageView
@ -148,11 +148,11 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/chat_top" android:id="@+id/chat_top"
android:layout_width="345dp" android:layout_width="345dp"
android:layout_height="145dp" android:layout_height="wrap_content"
android:layout_marginTop="-14dp" android:layout_marginTop="-14dp"
android:background="@drawable/bg_tag_match" android:background="@drawable/bg_tag_match"
android:padding="15dp" android:padding="15dp"
android:visibility="gone" android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top"> app:layout_constraintTop_toBottomOf="@+id/top">
@ -250,11 +250,13 @@
android:background="@color/white" android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout <LinearLayout
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="80dp" android:minHeight="80dp"
android:gravity="center_vertical"
android:paddingHorizontal="15dp"
android:background="@color/white" android:background="@color/white"
android:paddingVertical="16dp" android:paddingVertical="16dp"
app:layout_constraintBottom_toTopOf="@+id/view"> app:layout_constraintBottom_toTopOf="@+id/view">
@ -262,17 +264,15 @@
<ImageView <ImageView
android:id="@+id/send_pic" android:id="@+id/send_pic"
android:layout_width="44dp" android:layout_width="44dp"
android:layout_marginEnd="10dp"
android:layout_height="44dp" android:layout_height="44dp"
android:src="@mipmap/send_pic" android:src="@mipmap/send_pic" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/send_gift"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
android:id="@+id/send_gift" android:id="@+id/send_gift"
android:layout_width="44dp" android:layout_width="44dp"
android:layout_height="44dp" android:layout_height="44dp"
android:layout_marginEnd="10dp"
android:src="@mipmap/send_gift" android:src="@mipmap/send_gift"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/view_send" app:layout_constraintEnd_toStartOf="@+id/view_send"
@ -281,7 +281,7 @@
<LinearLayout <LinearLayout
android:id="@+id/view_send" android:id="@+id/view_send"
android:layout_width="237dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_cfd4e0_20" android:background="@drawable/bg_cfd4e0_20"
android:gravity="center_vertical|end" android:gravity="center_vertical|end"
@ -316,7 +316,7 @@
app:layout_constraintStart_toEndOf="@+id/send_pic" app:layout_constraintStart_toEndOf="@+id/send_pic"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/baseRefreshLayout" android:id="@+id/baseRefreshLayout"

查看文件

@ -155,7 +155,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:text="Gender" android:text="Gender(Unchangeable)"
android:textColor="#ff222222" android:textColor="#ff222222"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" /> android:textStyle="bold" />

查看文件

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.StartActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@mipmap/start_bg"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/bo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@mipmap/start_bg2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:scaleType="center"
android:src="@mipmap/icon"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/bo" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

查看文件

@ -43,6 +43,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:button="@null" android:button="@null"
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:paddingVertical="14dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:text="Contains sexual content" android:text="Contains sexual content"
@ -52,13 +53,13 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
<RadioButton <RadioButton
android:id="@+id/links" android:id="@+id/links"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="14dp"
android:button="@null" android:button="@null"
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -70,8 +71,7 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
<RadioButton <RadioButton
android:id="@+id/not" android:id="@+id/not"
@ -79,6 +79,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:button="@null" android:button="@null"
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:paddingVertical="14dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:text="Not real information" android:text="Not real information"
@ -88,14 +89,14 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
<RadioButton <RadioButton
android:id="@+id/behavior" android:id="@+id/behavior"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:button="@null" android:button="@null"
android:paddingVertical="14dp"
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
@ -106,13 +107,13 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
<RadioButton <RadioButton
android:id="@+id/threat" android:id="@+id/threat"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="14dp"
android:button="@null" android:button="@null"
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -124,8 +125,7 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
<RadioButton <RadioButton
android:id="@+id/other" android:id="@+id/other"
@ -135,6 +135,7 @@
android:drawableEnd="@drawable/bg_radio" android:drawableEnd="@drawable/bg_radio"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="14dp"
android:text="Other violations" android:text="Other violations"
android:textColor="#222222" android:textColor="#222222"
android:textSize="14sp" /> android:textSize="14sp" />
@ -142,14 +143,12 @@
<include <include
layout="@layout/view_line" layout="@layout/view_line"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1dp" android:layout_height="1dp" />
android:layout_marginVertical="14dp" />
</RadioGroup> </RadioGroup>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="5dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/group"> app:layout_constraintTop_toBottomOf="@+id/group">
@ -159,6 +158,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="Cancle" android:text="Cancle"
android:paddingTop="20dp"
android:textColor="#05BCFF" android:textColor="#05BCFF"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" android:textStyle="bold"
@ -171,6 +171,7 @@
android:id="@+id/line" android:id="@+id/line"
android:layout_width="1dp" android:layout_width="1dp"
android:layout_height="32dp" android:layout_height="32dp"
android:layout_marginTop="20dp"
android:layout_marginHorizontal="50dp" android:layout_marginHorizontal="50dp"
android:background="#F8F8F8" android:background="#F8F8F8"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -180,8 +181,9 @@
<TextView <TextView
android:id="@+id/submit" android:id="@+id/submit"
android:layout_width="68dp" android:layout_width="wrap_content"
android:layout_height="22dp" android:layout_height="wrap_content"
android:paddingTop="20dp"
android:text="Submit" android:text="Submit"
android:textColor="#ffff02a7" android:textColor="#ffff02a7"
android:textSize="18sp" android:textSize="18sp"

查看文件

@ -28,6 +28,7 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/list" android:id="@+id/list"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginHorizontal="15dp"
android:layout_height="240dp" android:layout_height="240dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@+id/title" /> app:layout_constraintTop_toBottomOf="@+id/title" />

查看文件

@ -63,99 +63,15 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/name" /> app:layout_constraintTop_toBottomOf="@+id/name" />
<androidx.recyclerview.widget.RecyclerView
<LinearLayout android:id="@+id/list"
android:id="@+id/tags" android:layout_marginHorizontal="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:orientation="horizontal" android:layout_width="match_parent"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/name"> app:layout_constraintTop_toBottomOf="@+id/name"
android:layout_height="wrap_content"/>
<LinearLayout
android:id="@+id/tage_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_tag_match_1"
android:gravity="center"
android:orientation="horizontal"
android:paddingVertical="6.5dp"
android:paddingStart="5dp"
android:paddingEnd="15dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@mipmap/icon_bg_species" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="Reading"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/tage_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:background="@drawable/bg_tag_match_2"
android:gravity="center"
android:orientation="horizontal"
android:paddingVertical="6.5dp"
android:paddingStart="5dp"
android:paddingEnd="15dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@mipmap/icon_bg_species" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="Pet"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/tag_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginEnd="15dp"
android:background="@drawable/bg_tag_match_3"
android:gravity="center"
android:orientation="horizontal"
android:paddingVertical="6.5dp"
android:paddingStart="5dp"
android:paddingEnd="15dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@mipmap/icon_bg_species" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="Movie"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/coins" android:id="@+id/coins"

查看文件

@ -3,6 +3,8 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginBottom="10dp"
android:layout_marginHorizontal="15dp"
android:layout_height="80dp" android:layout_height="80dp"
android:background="@drawable/bg_discover_tab"> android:background="@drawable/bg_discover_tab">

查看文件

@ -10,6 +10,7 @@
android:layout_width="70dp" android:layout_width="70dp"
android:layout_height="70dp" android:layout_height="70dp"
android:src="@mipmap/temp" android:src="@mipmap/temp"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />

查看文件

@ -8,21 +8,21 @@
android:orientation="horizontal" android:orientation="horizontal"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:layout_marginBottom="5dp" android:layout_marginBottom="5dp"
android:paddingStart="10dp" android:paddingStart="5dp"
android:paddingVertical="5dp" android:paddingVertical="5dp"
android:paddingEnd="20dp"> android:paddingEnd="20dp">
<ImageView <ImageView
android:id="@+id/icon" android:id="@+id/icon"
android:layout_width="24dp" android:layout_width="20dp"
android:layout_height="24dp" android:layout_height="20dp"
android:src="@mipmap/icon_tag_sports" /> android:src="@mipmap/icon_tag_sports" />
<TextView <TextView
android:id="@+id/name" android:id="@+id/name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="10dp" android:layout_marginStart="5dp"
android:text="Sports" android:text="Sports"
android:textColor="#999999" android:textColor="#999999"
android:textSize="14sp" /> android:textSize="14sp" />

二进制
app/src/main/res/mipmap-hdpi/icon.png 普通文件

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 14 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 15 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 58 KiB

二进制
app/src/main/res/mipmap-mdpi/icon.png 普通文件

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 6.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 7.9 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 34 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 18 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 23 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 76 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 38 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 44 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 179 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 53 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 51 KiB

二进制文件未显示。

之后

宽度:  |  高度:  |  大小: 206 KiB

查看文件

@ -25,9 +25,9 @@ ext {
} }
androidx = [ androidx = [
appcompat : 'androidx.appcompat:appcompat:1.1.0', appcompat : 'androidx.appcompat:appcompat:1.3.0',
annotation : 'androidx.annotation:annotation:1.1.0', annotation : 'androidx.annotation:annotation:1.1.0',
constraintlayout : 'androidx.constraintlayout:constraintlayout:1.1.3', constraintlayout : 'androidx.constraintlayout:constraintlayout:2.0.4',
recyclerview : 'androidx.recyclerview:recyclerview:1.1.0', recyclerview : 'androidx.recyclerview:recyclerview:1.1.0',
viewpager2 : 'androidx.viewpager2:viewpager2:1.0.0', viewpager2 : 'androidx.viewpager2:viewpager2:1.0.0',
material : 'com.google.android.material:material:1.1.0', material : 'com.google.android.material:material:1.1.0',

查看文件

@ -1,3 +1,4 @@
include ':app' include ':app'
include ':core' include ':core'
include ':base'
rootProject.name = "AndroidPlatform" rootProject.name = "AndroidPlatform"