[Modify]声音签名用户主页功能修改
This commit is contained in:
@@ -2,6 +2,7 @@ package com.yizhuan.erban.audio
|
|||||||
|
|
||||||
import com.netease.nim.uikit.StatusBarUtil
|
import com.netease.nim.uikit.StatusBarUtil
|
||||||
import com.yizhuan.erban.R
|
import com.yizhuan.erban.R
|
||||||
|
import com.yizhuan.erban.audio.helper.AudioPlayerHelper
|
||||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||||
import com.yizhuan.erban.databinding.ActivitySoundSignatureBinding
|
import com.yizhuan.erban.databinding.ActivitySoundSignatureBinding
|
||||||
|
|
||||||
@@ -11,7 +12,16 @@ import com.yizhuan.erban.databinding.ActivitySoundSignatureBinding
|
|||||||
*/
|
*/
|
||||||
class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBinding>() {
|
class SoundSignatureActivity : BaseViewBindingActivity<ActivitySoundSignatureBinding>() {
|
||||||
|
|
||||||
|
companion object{
|
||||||
|
const val EXTRA_VOICE_ID = "voice_id"
|
||||||
|
const val AUDIO_FILE = "AUDIO_FILE"
|
||||||
|
const val AUDIO_DURA = "AUDIO_DURA"
|
||||||
|
const val MIN_RECORD_VOICE_DURATION = 5 // 最少5秒
|
||||||
|
const val MAX_RECORD_VOICE_DURATION = 60 //最多60s
|
||||||
|
}
|
||||||
|
|
||||||
override fun init() {
|
override fun init() {
|
||||||
|
AudioPlayerHelper.get().onCreate()
|
||||||
initWhiteTitleBar(getString(R.string.sound_signature))
|
initWhiteTitleBar(getString(R.string.sound_signature))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -0,0 +1,15 @@
|
|||||||
|
package com.yizhuan.erban.audio.viewmodel
|
||||||
|
|
||||||
|
import com.yizhuan.erban.base.BaseViewModel
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wushaocheng
|
||||||
|
* 声音签名
|
||||||
|
*/
|
||||||
|
class SoundViewModel : BaseViewModel() {
|
||||||
|
|
||||||
|
init {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -44,7 +44,6 @@ import com.yizhuan.erban.ui.user.adapter.SelfPhotoAdapter;
|
|||||||
import com.yizhuan.erban.ui.user.adapter.UserInfoIndicatorAdapter;
|
import com.yizhuan.erban.ui.user.adapter.UserInfoIndicatorAdapter;
|
||||||
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter;
|
import com.yizhuan.erban.ui.user.adapter.UserInfoPagerAdapter;
|
||||||
import com.yizhuan.erban.ui.user.adapter.UserInfoPhotoAdapter;
|
import com.yizhuan.erban.ui.user.adapter.UserInfoPhotoAdapter;
|
||||||
import com.yizhuan.erban.ui.user.view.UserInfoDynamicFragment;
|
|
||||||
import com.yizhuan.erban.ui.user.view.UserInfoGiftWallFragment;
|
import com.yizhuan.erban.ui.user.view.UserInfoGiftWallFragment;
|
||||||
import com.yizhuan.erban.ui.user.view.UserInfoInfoFragment;
|
import com.yizhuan.erban.ui.user.view.UserInfoInfoFragment;
|
||||||
import com.yizhuan.erban.ui.user.viewmodel.UserInfoViewModel;
|
import com.yizhuan.erban.ui.user.viewmodel.UserInfoViewModel;
|
||||||
@@ -132,7 +131,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
|||||||
onSetListener();
|
onSetListener();
|
||||||
EventBus.getDefault().register(this);
|
EventBus.getDefault().register(this);
|
||||||
initUserInfoDetailObserver();
|
initUserInfoDetailObserver();
|
||||||
getUserInfo();
|
|
||||||
initAttentionView();
|
initAttentionView();
|
||||||
initNestScrollView();
|
initNestScrollView();
|
||||||
setEditButton(identityState, true);
|
setEditButton(identityState, true);
|
||||||
@@ -141,22 +139,25 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
|||||||
if (userId != AuthModel.get().getCurrentUid()) {
|
if (userId != AuthModel.get().getCurrentUid()) {
|
||||||
UserModel.get().visitUserDetail(userId).subscribe();
|
UserModel.get().visitUserDetail(userId).subscribe();
|
||||||
}
|
}
|
||||||
|
viewModel.getUserInfoData().observe(this, infoBean -> {
|
||||||
|
userInfo = infoBean;
|
||||||
|
initData(userInfo);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
viewModel.getUserInfo();
|
||||||
viewModel.getUserInfoDetail();
|
viewModel.getUserInfoDetail();
|
||||||
viewModel.getUserHallAndClan();
|
viewModel.getUserHallAndClan();
|
||||||
viewModel.getUserSkillData(viewModel.getUserId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initAttentionView() {
|
private void initAttentionView() {
|
||||||
if (AuthModel.get().getCurrentUid() == userId) {
|
if (AuthModel.get().getCurrentUid() == userId) {
|
||||||
identityState = OWN;
|
identityState = OWN;
|
||||||
mBinding.tvFansCount.setOnClickListener(this);
|
mBinding.tvFansCount.setOnClickListener(this);
|
||||||
mBinding.ivWhere.setVisibility(View.GONE);
|
mBinding.groupLive.setVisibility(View.GONE);
|
||||||
if (bottomViewLayout != null)
|
if (bottomViewLayout != null)
|
||||||
bottomViewLayout.setVisibility(View.GONE);
|
bottomViewLayout.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
@@ -182,43 +183,23 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
|||||||
mBinding.ivUserBack.setOnClickListener(this);
|
mBinding.ivUserBack.setOnClickListener(this);
|
||||||
mBinding.ivEdit.setOnClickListener(this);
|
mBinding.ivEdit.setOnClickListener(this);
|
||||||
mBinding.tvEdit.setOnClickListener(this);
|
mBinding.tvEdit.setOnClickListener(this);
|
||||||
mBinding.ivWhere.setOnClickListener(this);
|
mBinding.viewLive.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 找到TA, 主态不展示
|
* 找到TA, 主态不展示
|
||||||
*/
|
*/
|
||||||
private void setWhereVisible() {
|
private void setWhereVisible() {
|
||||||
mBinding.ivWhere.setVisibility(viewModel.getMRoomUid() != 0 ? View.VISIBLE : View.GONE);
|
mBinding.groupLive.setVisibility(viewModel.getMRoomUid() != 0 ? View.VISIBLE : View.GONE);
|
||||||
}
|
|
||||||
|
|
||||||
private void getUserInfo() {
|
|
||||||
UserModel.get().getUserInfoFromServer(userId)
|
|
||||||
.compose(bindToLifecycle())
|
|
||||||
.subscribe(new BeanObserver<UserInfo>() {
|
|
||||||
@Override
|
|
||||||
public void onErrorMsg(String error) {
|
|
||||||
toast(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(UserInfo Info) {
|
|
||||||
userInfo = Info;
|
|
||||||
initData(userInfo);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initViewPager() {
|
private void initViewPager() {
|
||||||
List<Fragment> fragmentList = new ArrayList<>(3);
|
List<Fragment> fragmentList = new ArrayList<>(2);
|
||||||
fragmentList.add(new UserInfoInfoFragment());
|
fragmentList.add(new UserInfoInfoFragment());
|
||||||
fragmentList.add(new UserInfoDynamicFragment());
|
|
||||||
fragmentList.add(new UserInfoGiftWallFragment());
|
fragmentList.add(new UserInfoGiftWallFragment());
|
||||||
/* fragmentList.add(UserInfoCpFragment.Companion.newInstance(userId));*/
|
|
||||||
pagerAdapter = new UserInfoPagerAdapter(getSupportFragmentManager(), fragmentList);
|
pagerAdapter = new UserInfoPagerAdapter(getSupportFragmentManager(), fragmentList);
|
||||||
final List<String> tagList = new ArrayList<>(3);
|
final List<String> tagList = new ArrayList<>(2);
|
||||||
tagList.add(getString(R.string.me_data));
|
tagList.add(getString(R.string.me_data));
|
||||||
tagList.add(getString(R.string.me_dynamic));
|
|
||||||
tagList.add(getString(R.string.me_gift_wall));
|
tagList.add(getString(R.string.me_gift_wall));
|
||||||
CommonNavigator commonNavigator = new CommonNavigator(context);
|
CommonNavigator commonNavigator = new CommonNavigator(context);
|
||||||
commonNavigator.setTitleWrapContent(true);
|
commonNavigator.setTitleWrapContent(true);
|
||||||
@@ -229,7 +210,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
|||||||
commonNavigator.setAdapter(magicIndicatorAdapter);
|
commonNavigator.setAdapter(magicIndicatorAdapter);
|
||||||
mBinding.magicIndicator.setNavigator(commonNavigator);
|
mBinding.magicIndicator.setNavigator(commonNavigator);
|
||||||
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
||||||
mBinding.viewPager.setOffscreenPageLimit(3);
|
mBinding.viewPager.setOffscreenPageLimit(2);
|
||||||
mBinding.viewPager.setAdapter(pagerAdapter);
|
mBinding.viewPager.setAdapter(pagerAdapter);
|
||||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
|
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
|
||||||
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||||
@@ -548,7 +529,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
|
|||||||
PraiseModel.get().praise(userInfo.getUid(), true).subscribe();
|
PraiseModel.get().praise(userInfo.getUid(), true).subscribe();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case R.id.iv_where:
|
case R.id.viewLive:
|
||||||
if (userInfo == null) {
|
if (userInfo == null) {
|
||||||
toast(getString(R.string.me_user_information_is_empty));
|
toast(getString(R.string.me_user_information_is_empty));
|
||||||
return;
|
return;
|
||||||
|
@@ -1,112 +1,96 @@
|
|||||||
package com.yizhuan.erban.ui.user.view
|
package com.yizhuan.erban.ui.user.view
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.graphics.drawable.GradientDrawable
|
|
||||||
import android.view.Gravity
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.TextView
|
|
||||||
import androidx.core.view.isVisible
|
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import com.netease.nim.uikit.common.util.sys.TimeUtil
|
||||||
import com.netease.nim.uikit.support.glide.GlideApp
|
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||||
import com.yizhuan.erban.R
|
import com.yizhuan.erban.R
|
||||||
|
import com.yizhuan.erban.UIHelper
|
||||||
|
import com.yizhuan.erban.avroom.ButtonItemFactory
|
||||||
import com.yizhuan.erban.base.BaseViewBindingFragment
|
import com.yizhuan.erban.base.BaseViewBindingFragment
|
||||||
|
import com.yizhuan.erban.common.widget.dialog.DialogManager
|
||||||
|
import com.yizhuan.erban.community.helper.ShareDynamicHelper
|
||||||
import com.yizhuan.erban.databinding.FragmentUserinfoUserinfoBinding
|
import com.yizhuan.erban.databinding.FragmentUserinfoUserinfoBinding
|
||||||
import com.yizhuan.erban.module_hall.HallDataManager
|
|
||||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity
|
import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity
|
||||||
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity
|
import com.yizhuan.erban.module_hall.hall.activity.ModuleHallActivity
|
||||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity
|
import com.yizhuan.erban.ui.user.adapter.UserInfoDynamicAdapter
|
||||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity.Companion.PAGE_TYPE_CUSTOM
|
|
||||||
import com.yizhuan.erban.skill.activity.SkillHomeActivity.Companion.PAGE_TYPE_SELF
|
|
||||||
import com.yizhuan.erban.ui.user.UserInfoActivity
|
|
||||||
import com.yizhuan.erban.ui.user.adapter.SkillCardAdapter
|
|
||||||
import com.yizhuan.erban.ui.user.decorationsend.UserInfoSkillDecoration
|
|
||||||
import com.yizhuan.erban.ui.user.viewmodel.UserInfoViewModel
|
import com.yizhuan.erban.ui.user.viewmodel.UserInfoViewModel
|
||||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil
|
import com.yizhuan.erban.ui.widget.ButtonItem
|
||||||
|
import com.yizhuan.xchat_android_constants.XChatConstants
|
||||||
import com.yizhuan.xchat_android_core.auth.AuthModel
|
import com.yizhuan.xchat_android_core.auth.AuthModel
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.HallModel
|
import com.yizhuan.xchat_android_core.community.bean.WorldDynamicBean
|
||||||
|
import com.yizhuan.xchat_android_core.community.dynamic.DynamicModel
|
||||||
|
import com.yizhuan.xchat_android_core.community.event.DynamicRefreshEvent
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanAndHallInfo
|
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanAndHallInfo
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanInfo
|
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanInfo
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.HallInfo
|
import com.yizhuan.xchat_android_core.module_hall.hall.bean.HallInfo
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserInfoSkillEntity
|
import com.yizhuan.xchat_android_core.statistic.StatisticManager
|
||||||
|
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol
|
||||||
|
import com.yizhuan.xchat_android_core.user.UserModel
|
||||||
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo
|
||||||
|
import com.yizhuan.xchat_android_core.utils.StarUtils
|
||||||
import com.yizhuan.xchat_android_core.utils.net.BeanObserver
|
import com.yizhuan.xchat_android_core.utils.net.BeanObserver
|
||||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper
|
import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver
|
||||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
|
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
|
||||||
|
import com.yizhuan.xchat_android_library.utils.ResUtil
|
||||||
|
import org.greenrobot.eventbus.EventBus
|
||||||
|
import org.greenrobot.eventbus.Subscribe
|
||||||
|
import org.greenrobot.eventbus.ThreadMode
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
@ActLayoutRes(R.layout.fragment_userinfo_userinfo)
|
@ActLayoutRes(R.layout.fragment_userinfo_userinfo)
|
||||||
class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBinding>() {
|
class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBinding>() {
|
||||||
|
|
||||||
private var skillAdapter: SkillCardAdapter? = null
|
|
||||||
private val vm: UserInfoViewModel by activityViewModels()
|
private val vm: UserInfoViewModel by activityViewModels()
|
||||||
|
|
||||||
|
private var dynamicAdapter: UserInfoDynamicAdapter? = null
|
||||||
|
|
||||||
override fun init() {
|
override fun init() {
|
||||||
|
EventBus.getDefault().register(this)
|
||||||
|
|
||||||
|
vm.userInfoData.observe(this) {
|
||||||
|
initInfoData(it)
|
||||||
|
}
|
||||||
|
|
||||||
vm.hallData.observe(this) {
|
vm.hallData.observe(this) {
|
||||||
initClanAndHall(it)
|
initPersonalData(it)
|
||||||
}
|
}
|
||||||
vm.userInfoSkillData.observe(this) {
|
|
||||||
initSkillCardList(it)
|
vm.userInfoDetailData.observe(this) {
|
||||||
|
initDynamicList(it.dynamicInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
private fun initInfoData(userInfo: UserInfo) {
|
||||||
private fun initClanAndHall(clanAndHallInfo: ClanAndHallInfo) {
|
//设置星座
|
||||||
|
val star = StarUtils.getConstellation(Date(userInfo.birth))
|
||||||
|
if (null == star) {
|
||||||
|
binding.tvConstellation.visibility = View.GONE
|
||||||
|
} else {
|
||||||
|
binding.tvConstellation.text = star
|
||||||
|
binding.tvConstellation.visibility = View.VISIBLE
|
||||||
|
}
|
||||||
|
val birth = TimeUtil.getDateTimeString(userInfo.birth, "yyyy-MM-dd")
|
||||||
|
binding.tvBirth.text = birth
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initPersonalData(clanAndHallInfo: ClanAndHallInfo) {
|
||||||
val hallInfo: HallInfo? = clanAndHallInfo.hall
|
val hallInfo: HallInfo? = clanAndHallInfo.hall
|
||||||
val clanInfo: ClanInfo? = clanAndHallInfo.clan
|
val clanInfo: ClanInfo? = clanAndHallInfo.clan
|
||||||
val showApply =
|
|
||||||
AuthModel.get().currentUid != vm.userId && HallDataManager.get().hallId <= 0
|
|
||||||
if (hallInfo != null && hallInfo.hallId > 0) {
|
if (hallInfo != null && hallInfo.hallId > 0) {
|
||||||
binding.llModuleHall.visibility = View.VISIBLE
|
binding.tvRoom.text = hallInfo.hallName
|
||||||
binding.llNoAssociation.visibility = View.GONE
|
|
||||||
binding.tvHallId.text = getString(R.string.me_roomid) + hallInfo.hallId.toString()
|
|
||||||
binding.tvHallName.text = hallInfo.hallName
|
|
||||||
binding.tvHallMemberNum.text =
|
|
||||||
getString(R.string.me_room_number_people) + hallInfo.memberCount
|
|
||||||
binding.tvHallErbanId.text = getString(R.string.me_peko_number) + hallInfo.ownerErbanNo
|
|
||||||
GlideApp.with(this)
|
|
||||||
.load(hallInfo.ownerAvatar)
|
|
||||||
.placeholder(R.drawable.default_avatar)
|
|
||||||
.into(binding.ivHallAvatar)
|
|
||||||
} else {
|
} else {
|
||||||
binding.llHall.isVisible = false
|
binding.llRoom.visibility = View.GONE
|
||||||
binding.ivClanArrow.isVisible = false
|
|
||||||
binding.tvHallDetail.text = getString(R.string.me_association)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clanInfo != null && clanInfo.id > 0) {
|
if (clanInfo != null && clanInfo.id > 0) {
|
||||||
binding.llModuleHall.visibility = View.VISIBLE
|
binding.tvAssociation.text = clanInfo.name
|
||||||
binding.llNoAssociation.visibility = View.GONE
|
|
||||||
binding.llClan.visibility = View.VISIBLE
|
|
||||||
binding.tvClanId.text = getString(R.string.me_association_id) + clanInfo.id
|
|
||||||
binding.tvClanName.text = clanInfo.name
|
|
||||||
binding.tvClanMemberNum.text =
|
|
||||||
getString(R.string.me_association_number) + clanInfo.clanMemberNum
|
|
||||||
binding.tvClanHallNum.text = getString(R.string.me_room_number) + clanInfo.clanHallNum
|
|
||||||
GlideApp.with(this)
|
|
||||||
.load(clanInfo.avatar)
|
|
||||||
.placeholder(R.drawable.default_cover)
|
|
||||||
.into(binding.ivClanAvatar)
|
|
||||||
GlideApp.with(this)
|
|
||||||
.load(clanInfo.levelIcon)
|
|
||||||
.placeholder(R.drawable.default_cover)
|
|
||||||
.into(binding.ivClanLevel)
|
|
||||||
if (hallInfo != null && hallInfo.hallId > 0) {
|
|
||||||
binding.tvHallDetail.text = getString(R.string.me_association_room)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
binding.llClan.visibility = View.GONE
|
binding.llAssociation.visibility = View.GONE
|
||||||
if (hallInfo == null || hallInfo.hallId <= 0) {
|
|
||||||
binding.llModuleHall.visibility = View.GONE
|
|
||||||
binding.llNoAssociation.visibility = View.VISIBLE
|
|
||||||
} else {
|
|
||||||
binding.llHall.isVisible = true
|
|
||||||
binding.tvHallDetail.text = getString(R.string.me_room)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.ivHallAvatar.setOnClickListener {
|
binding.tvRoom.setOnClickListener {
|
||||||
if (hallInfo != null && hallInfo.hallId != 0L) {
|
if (hallInfo != null && hallInfo.hallId != 0L) {
|
||||||
ModuleHallActivity.start(
|
ModuleHallActivity.start(
|
||||||
context,
|
context,
|
||||||
@@ -116,77 +100,143 @@ class UserInfoInfoFragment : BaseViewBindingFragment<FragmentUserinfoUserinfoBin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.ivClanAvatar.setOnClickListener {
|
binding.tvAssociation.setOnClickListener {
|
||||||
ModuleClanActivity.start(context, vm.userId)
|
ModuleClanActivity.start(context, vm.userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.ivClanArrow.setOnClickListener {
|
|
||||||
binding.ivClanArrow.animate()
|
|
||||||
.rotationBy(180f)
|
|
||||||
.setDuration(200)
|
|
||||||
.start()
|
|
||||||
binding.llHall.isVisible = !binding.llHall.isVisible
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技能卡
|
* 动态列表
|
||||||
|
*
|
||||||
|
* @param worldDynamicList
|
||||||
*/
|
*/
|
||||||
private fun initSkillCardList(list: List<UserInfoSkillEntity>) {
|
private fun initDynamicList(worldDynamicList: List<WorldDynamicBean>) {
|
||||||
val audio = list.find { it.cardId == 8 }
|
if (dynamicAdapter == null) {
|
||||||
var newList: MutableList<UserInfoSkillEntity> = list.toMutableList()
|
dynamicAdapter = UserInfoDynamicAdapter(mContext)
|
||||||
if (audio != null) {
|
dynamicAdapter?.setEnableLoadMore(false)
|
||||||
(activity as? UserInfoActivity)?.initVoiceShow(audio)
|
dynamicAdapter?.setOnItemChildClickListener { _, view: View, pos: Int ->
|
||||||
newList.remove(audio)
|
val bean: WorldDynamicBean =
|
||||||
}
|
dynamicAdapter?.getItem(pos) ?: return@setOnItemChildClickListener
|
||||||
if (skillAdapter == null) {
|
if (view.id == R.id.iv_more) {
|
||||||
skillAdapter = SkillCardAdapter(mContext)
|
val list: MutableList<ButtonItem> = ArrayList()
|
||||||
skillAdapter?.setHeaderAndEmpty(true)
|
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||||
skillAdapter?.setOnItemClickListener { _, _, _ ->
|
val item = ButtonItem(
|
||||||
val type =
|
getString(R.string.me_shield_dynamic)
|
||||||
if (vm.userId == AuthModel.get().currentUid) PAGE_TYPE_SELF else PAGE_TYPE_CUSTOM
|
) {
|
||||||
SkillHomeActivity.start(mContext, type, vm.userId)
|
UserModel.get().addReport(bean.dynamicId, 0)
|
||||||
|
.subscribe(object : BeanObserver<String?>() {
|
||||||
|
override fun onErrorMsg(error: String) {
|
||||||
|
dialogManager.dismissDialog()
|
||||||
|
toast(error)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onSuccess(s: String) {
|
||||||
|
dialogManager.dismissDialog()
|
||||||
|
toast(ResUtil.getString(R.string.me_shield_success))
|
||||||
|
if (pos < (dynamicAdapter?.data?.size ?: 0)) {
|
||||||
|
if (bean == dynamicAdapter?.getItem(pos)) {
|
||||||
|
dynamicAdapter?.remove(pos)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
list.add(item)
|
||||||
|
}
|
||||||
|
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||||
|
val blackListItem = ButtonItemFactory.createAddToBlackListItem(
|
||||||
|
dialogManager, bean.uid.toString()
|
||||||
|
)
|
||||||
|
list.add(blackListItem)
|
||||||
|
}
|
||||||
|
if (!UserModel.get().isMyseft(bean.uid)) {
|
||||||
|
val item = ButtonItem(
|
||||||
|
getString(R.string.me_report_dynamic)
|
||||||
|
) {
|
||||||
|
StatisticManager.Instance().onEvent(
|
||||||
|
StatisticsProtocol.EVENT_WORLD_REPORT_MOMENTS,
|
||||||
|
getString(R.string.me_report_the_dynamic)
|
||||||
|
)
|
||||||
|
UIHelper.showReportPage(
|
||||||
|
mContext, bean.uid,
|
||||||
|
XChatConstants.REPORT_TYPE_DYNAMIC_SQUARE
|
||||||
|
)
|
||||||
|
}
|
||||||
|
list.add(item)
|
||||||
|
}
|
||||||
|
if (UserModel.get().isMyseft(bean.uid) ||
|
||||||
|
isThisWorldOwner(bean)
|
||||||
|
) {
|
||||||
|
val item = ButtonItem(
|
||||||
|
getString(R.string.me_delete)
|
||||||
|
) { deleteDynamic(pos, dynamicAdapter) }
|
||||||
|
list.add(item)
|
||||||
|
}
|
||||||
|
dialogManager.showCommonPopupDialog(list, getString(R.string.cancel))
|
||||||
|
} else if (view.id == R.id.ll_share) {
|
||||||
|
StatisticManager.Instance().onEvent(
|
||||||
|
StatisticsProtocol.EVENT_WORLD_SHARE_MOMENTS,
|
||||||
|
getString(R.string.me_share_dynamic)
|
||||||
|
)
|
||||||
|
ShareDynamicHelper(activity).share(bean)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
binding.recyclerSkill.addItemDecoration(UserInfoSkillDecoration(mContext, 8))
|
binding.mRecyclerView.adapter = dynamicAdapter
|
||||||
binding.recyclerSkill.layoutManager =
|
|
||||||
LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false)
|
|
||||||
binding.recyclerSkill.adapter = skillAdapter
|
|
||||||
}
|
}
|
||||||
if (newList.isEmpty()) {
|
dynamicAdapter?.setNewData(worldDynamicList)
|
||||||
skillAdapter?.emptyView = createSkillEmptyView()
|
|
||||||
}
|
|
||||||
skillAdapter?.setNewData(newList)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun applyJoinHall(hallId: Long) {
|
|
||||||
HallModel.get().applyJoinHall(hallId)
|
|
||||||
.compose(RxHelper.bindFragment(this))
|
|
||||||
.subscribe(object : BeanObserver<String?>() {
|
|
||||||
override fun onErrorMsg(error: String) {
|
|
||||||
toast(error)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onSuccess(s: String) {
|
private fun deleteDynamic(pos: Int, adapter: UserInfoDynamicAdapter?) {
|
||||||
toast(s)
|
StatisticManager.Instance().onEvent(
|
||||||
}
|
StatisticsProtocol.EVENT_WORLD_DELETE_MOMENTS,
|
||||||
|
getString(R.string.me_delete_the_dynamic)
|
||||||
|
)
|
||||||
|
dialogManager.showOkCancelWithTitleDialog(getString(R.string.me_cannot_be_restored),
|
||||||
|
DialogManager.OkCancelDialogListener {
|
||||||
|
val bean = adapter?.getItem(pos) ?: return@OkCancelDialogListener
|
||||||
|
DynamicModel.get().delete(bean.worldId, bean.dynamicId)
|
||||||
|
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||||
|
.doOnSubscribe { dialogManager.showProgressDialog(mContext) }
|
||||||
|
.subscribe(object : DontWarnObserver<String?>() {
|
||||||
|
override fun accept(s: String?, error: String?) {
|
||||||
|
super.accept(s, error)
|
||||||
|
dialogManager.dismissDialog()
|
||||||
|
if (error != null) {
|
||||||
|
toast(error)
|
||||||
|
} else {
|
||||||
|
toast(getString(R.string.me_successfully_delete))
|
||||||
|
if (pos < adapter.data.size) {
|
||||||
|
if (bean == adapter.getItem(pos)) {
|
||||||
|
adapter.remove(pos)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createSkillEmptyView(): View {
|
/**
|
||||||
val textView = TextView(mContext)
|
* 判断自己是不是该世界的创始人
|
||||||
val textViewHeight = UIUtil.dip2px(mContext, 47.0)
|
*/
|
||||||
textView.layoutParams =
|
private fun isThisWorldOwner(bean: WorldDynamicBean?): Boolean {
|
||||||
ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, textViewHeight)
|
return bean != null && bean.worldUid == AuthModel.get().currentUid
|
||||||
textView.gravity = Gravity.CENTER
|
}
|
||||||
textView.setTextColor(mContext.resources.getColor(R.color.color_666666))
|
|
||||||
textView.text = getString(R.string.me_no_skill_card_added_yet)
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
textView.textSize = 12.0f
|
fun onDynamicRefreshEvent(event: DynamicRefreshEvent?) {
|
||||||
val conner = UIUtil.dip2px(mContext, 8.0)
|
if (isResumed) {
|
||||||
val drawable = GradientDrawable()
|
vm.userInfoDetailData.observe(this) {
|
||||||
drawable.cornerRadius = conner.toFloat()
|
initDynamicList(it.dynamicInfo)
|
||||||
drawable.setColor(Color.parseColor("#F4F7FF"))
|
}
|
||||||
textView.background = drawable
|
}
|
||||||
return textView
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
EventBus.getDefault().unregister(this)
|
||||||
|
super.onDestroyView()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@@ -4,13 +4,12 @@ import android.annotation.SuppressLint
|
|||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import com.yizhuan.erban.skill.repository.SkillModel
|
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.HallModel
|
import com.yizhuan.xchat_android_core.module_hall.hall.HallModel
|
||||||
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanAndHallInfo
|
import com.yizhuan.xchat_android_core.module_hall.hall.bean.ClanAndHallInfo
|
||||||
import com.yizhuan.xchat_android_core.user.UserInfoUiMgr
|
import com.yizhuan.xchat_android_core.user.UserInfoUiMgr
|
||||||
import com.yizhuan.xchat_android_core.user.UserModel
|
import com.yizhuan.xchat_android_core.user.UserModel
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo
|
import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserInfoSkillEntity
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo
|
||||||
import com.yizhuan.xchat_android_core.utils.net.BeanObserver
|
import com.yizhuan.xchat_android_core.utils.net.BeanObserver
|
||||||
import com.yizhuan.xchat_android_core.utils.toast
|
import com.yizhuan.xchat_android_core.utils.toast
|
||||||
import io.reactivex.disposables.CompositeDisposable
|
import io.reactivex.disposables.CompositeDisposable
|
||||||
@@ -23,12 +22,12 @@ class UserInfoViewModel : ViewModel() {
|
|||||||
|
|
||||||
var mRoomUid: Long = 0
|
var mRoomUid: Long = 0
|
||||||
|
|
||||||
|
private val _userInfoData = MutableLiveData<UserInfo>()
|
||||||
|
val userInfoData: LiveData<UserInfo> = _userInfoData
|
||||||
|
|
||||||
private val _userInfoDetailData = MutableLiveData<UserDetailInfo.DataBean>()
|
private val _userInfoDetailData = MutableLiveData<UserDetailInfo.DataBean>()
|
||||||
val userInfoDetailData: LiveData<UserDetailInfo.DataBean> = _userInfoDetailData
|
val userInfoDetailData: LiveData<UserDetailInfo.DataBean> = _userInfoDetailData
|
||||||
|
|
||||||
private val _userInfoSkillData = MutableLiveData<List<UserInfoSkillEntity>>()
|
|
||||||
val userInfoSkillData: LiveData<List<UserInfoSkillEntity>> = _userInfoSkillData
|
|
||||||
|
|
||||||
private val _hallData = MutableLiveData<ClanAndHallInfo>()
|
private val _hallData = MutableLiveData<ClanAndHallInfo>()
|
||||||
val hallData: LiveData<ClanAndHallInfo> = _hallData
|
val hallData: LiveData<ClanAndHallInfo> = _hallData
|
||||||
|
|
||||||
@@ -37,6 +36,18 @@ class UserInfoViewModel : ViewModel() {
|
|||||||
CompositeDisposable()
|
CompositeDisposable()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getUserInfo() {
|
||||||
|
UserModel.get().getUserInfoFromServer(userId)
|
||||||
|
.subscribe(object : BeanObserver<UserInfo?>() {
|
||||||
|
override fun onErrorMsg(error: String) { error.toast() }
|
||||||
|
|
||||||
|
override fun onSuccess(info: UserInfo) {
|
||||||
|
_userInfoData.value = info
|
||||||
|
}
|
||||||
|
override fun onSubscribe(d: Disposable) { disposable.add(d) }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
fun getUserInfoDetail() {
|
fun getUserInfoDetail() {
|
||||||
UserModel.get().getUserInfoDetail(userId)
|
UserModel.get().getUserInfoDetail(userId)
|
||||||
.subscribe(object : BeanObserver<UserDetailInfo?>() {
|
.subscribe(object : BeanObserver<UserDetailInfo?>() {
|
||||||
@@ -65,17 +76,6 @@ class UserInfoViewModel : ViewModel() {
|
|||||||
disposable.add(subscribe)
|
disposable.add(subscribe)
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("CheckResult")
|
|
||||||
fun getUserSkillData(userId: Long) {
|
|
||||||
val subscribe = SkillModel.instance.getUserInfoSkillList(userId)
|
|
||||||
.toFlowable()
|
|
||||||
.subscribe({ _userInfoSkillData.value = it }, { th ->
|
|
||||||
th.printStackTrace()
|
|
||||||
th.message?.toast()
|
|
||||||
})
|
|
||||||
disposable.add(subscribe)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCleared() {
|
override fun onCleared() {
|
||||||
super.onCleared()
|
super.onCleared()
|
||||||
disposable.dispose()
|
disposable.dispose()
|
||||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_avatar_bottom_bg.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_avatar_bottom_bg.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_live_bottom.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_live_bottom.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_room_yellow_arrow.webp
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_room_yellow_arrow.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 734 B |
13
app/src/main/res/drawable/bg_live_bottom.xml
Normal file
13
app/src/main/res/drawable/bg_live_bottom.xml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
|
||||||
|
<gradient
|
||||||
|
android:angle="180"
|
||||||
|
android:endColor="#19EBFF"
|
||||||
|
android:startColor="#ED66FF"
|
||||||
|
android:type="linear"
|
||||||
|
android:useLevel="true" />
|
||||||
|
|
||||||
|
|
||||||
|
</shape>
|
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient android:startColor="#D3ACFE" android:endColor="#A486FF"/>
|
||||||
|
<corners android:radius="@dimen/dp_7"/>
|
||||||
|
</shape>
|
@@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:background="@color/color_F3F5FA"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:background="@color/color_F3F5FA">
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
android:id="@+id/coordinator_layout"
|
android:id="@+id/coordinator_layout"
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
android:id="@+id/roll_view"
|
android:id="@+id/roll_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="245dp"
|
android:layout_height="245dp"
|
||||||
app:rollviewpager_play_delay="5000" >
|
app:rollviewpager_play_delay="5000">
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -62,81 +62,82 @@
|
|||||||
android:layout_gravity="end|bottom"
|
android:layout_gravity="end|bottom"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
android:layout_marginBottom="60dp"
|
android:layout_marginBottom="60dp"
|
||||||
android:paddingStart="@dimen/dp_10"
|
|
||||||
android:paddingEnd="@dimen/dp_10"
|
|
||||||
android:paddingTop="@dimen/dp_2"
|
|
||||||
android:paddingBottom="@dimen/dp_2"
|
|
||||||
android:background="@drawable/shape_66000000_100dp"
|
android:background="@drawable/shape_66000000_100dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
|
android:paddingStart="@dimen/dp_10"
|
||||||
|
android:paddingTop="@dimen/dp_2"
|
||||||
|
android:paddingEnd="@dimen/dp_10"
|
||||||
|
android:paddingBottom="@dimen/dp_2"
|
||||||
android:text="1/1"
|
android:text="1/1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="@dimen/sp_10" />
|
android:textSize="@dimen/sp_10" />
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/ll_audio"
|
|
||||||
android:layout_width="63dp"
|
|
||||||
android:layout_height="@dimen/dp_25"
|
|
||||||
android:background="@drawable/bg_userinfo_skill_audio"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_gravity="end|center_vertical"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/iv_audio_control"
|
|
||||||
android:layout_width="@dimen/dp_15"
|
|
||||||
android:layout_height="@dimen/dp_15"
|
|
||||||
android:layout_marginLeft="@dimen/dp_8"
|
|
||||||
android:src="@drawable/ic_skill_pause" />
|
|
||||||
|
|
||||||
<com.yizhuan.erban.ui.widget.LivingIconView
|
|
||||||
android:id="@+id/liv_user"
|
|
||||||
android:layout_width="60dp"
|
|
||||||
android:layout_height="20dp"
|
|
||||||
android:layout_marginLeft="@dimen/dp_6"
|
|
||||||
android:background="@color/transparent"
|
|
||||||
android:scaleType="fitXY"
|
|
||||||
app:cus_dp_height="20dp"
|
|
||||||
app:cus_dp_width="60dp"
|
|
||||||
app:cus_drawable="@drawable/skill_audio_animation" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<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_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:layout_marginTop="-50dp"
|
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
|
android:layout_marginTop="-50dp"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
android:background="@drawable/shape_white_12dp_round"
|
android:background="@drawable/shape_white_12dp_round"
|
||||||
android:clipChildren="false"
|
android:clipChildren="false"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:paddingStart="@dimen/dp_15"
|
android:paddingStart="@dimen/dp_15"
|
||||||
android:paddingTop="@dimen/dp_10"
|
android:paddingTop="@dimen/dp_10"
|
||||||
android:paddingBottom="@dimen/dp_15"
|
android:paddingEnd="0dp"
|
||||||
android:paddingEnd="0dp">
|
android:paddingBottom="@dimen/dp_15">
|
||||||
|
|
||||||
<com.yizhuan.erban.common.widget.CircleImageView
|
<com.yizhuan.erban.common.widget.CircleImageView
|
||||||
android:id="@+id/iv_user_head"
|
android:id="@+id/iv_user_head"
|
||||||
android:layout_width="88dp"
|
android:layout_width="88dp"
|
||||||
android:layout_height="88dp"
|
android:layout_height="88dp"
|
||||||
android:src="@drawable/default_avatar"
|
android:src="@drawable/default_avatar"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:cborder_color="@color/white"
|
||||||
|
app:cborder_width="1dp"
|
||||||
app:layout_constraintBottom_toTopOf="parent"
|
app:layout_constraintBottom_toTopOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"/>
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/viewLive"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/dp_22"
|
||||||
|
android:layout_marginStart="7dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:background="@drawable/ic_live_bottom"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/iv_user_head"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/iv_user_head"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/iv_user_head" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/tvLive"
|
||||||
|
android:text="@string/me_in_live"
|
||||||
|
android:textSize="@dimen/sp_11"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/viewLive"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/viewLive"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/viewLive"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/viewLive"/>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/groupLive"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:constraint_referenced_ids="viewLive,tvLive" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_vip_icon"
|
android:id="@+id/iv_vip_icon"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="20dp"
|
android:layout_height="20dp"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:layout_marginStart="@dimen/dp_12"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/tv_nick"
|
app:layout_constraintBottom_toBottomOf="@id/tv_nick"
|
||||||
app:layout_constraintStart_toEndOf="@+id/iv_user_head"
|
app:layout_constraintStart_toEndOf="@+id/iv_user_head"
|
||||||
app:layout_constraintTop_toTopOf="@id/tv_nick"
|
app:layout_constraintTop_toTopOf="@id/tv_nick"
|
||||||
@@ -168,12 +169,12 @@
|
|||||||
android:id="@+id/ll_id"
|
android:id="@+id/ll_id"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
android:layout_marginTop="@dimen/dp_8"
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_marginStart="@dimen/dp_12"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/iv_user_head"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/iv_user_head"
|
||||||
app:layout_constraintTop_toBottomOf="@id/tv_nick">
|
app:layout_constraintTop_toBottomOf="@id/tv_nick">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -198,8 +199,8 @@
|
|||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -313,24 +314,36 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/iv_where"
|
android:id="@+id/ll_audio"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="63dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="@dimen/dp_25"
|
||||||
android:background="@drawable/bg_in_live_gradient"
|
android:layout_gravity="end|center_vertical"
|
||||||
android:gravity="center"
|
android:background="@drawable/bg_userinfo_skill_audio"
|
||||||
android:includeFontPadding="false"
|
android:gravity="center_vertical"
|
||||||
android:paddingStart="@dimen/dp_7"
|
android:orientation="horizontal"
|
||||||
android:paddingTop="@dimen/dp_5"
|
|
||||||
android:paddingEnd="@dimen/dp_7"
|
|
||||||
android:paddingBottom="@dimen/dp_5"
|
|
||||||
android:drawablePadding="@dimen/dp_6"
|
|
||||||
android:text="@string/me_in_live"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible"
|
tools:visibility="visible">
|
||||||
app:drawableStartCompat="@drawable/icon_in_live" />
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_audio_control"
|
||||||
|
android:layout_width="@dimen/dp_15"
|
||||||
|
android:layout_height="@dimen/dp_15"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:src="@drawable/ic_skill_pause" />
|
||||||
|
|
||||||
|
<com.yizhuan.erban.ui.widget.LivingIconView
|
||||||
|
android:id="@+id/liv_user"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="20dp"
|
||||||
|
android:layout_marginStart="@dimen/dp_6"
|
||||||
|
android:background="@color/transparent"
|
||||||
|
android:scaleType="fitXY"
|
||||||
|
app:cus_dp_height="20dp"
|
||||||
|
app:cus_dp_width="60dp"
|
||||||
|
app:cus_drawable="@drawable/skill_audio_animation" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
@@ -338,11 +351,11 @@
|
|||||||
android:id="@+id/tv_desc"
|
android:id="@+id/tv_desc"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_10"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:textColor="@color/color_B3B3C3"
|
android:textColor="@color/color_B3B3C3"
|
||||||
android:textSize="@dimen/sp_13"
|
android:textSize="@dimen/sp_13"
|
||||||
android:layout_marginTop="@dimen/dp_10"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/ll_level"
|
app:layout_constraintTop_toBottomOf="@id/ll_level"
|
||||||
tools:text="@string/layout_activity_user_info_04" />
|
tools:text="@string/layout_activity_user_info_04" />
|
||||||
|
|
||||||
@@ -395,9 +408,9 @@
|
|||||||
android:id="@+id/tv_edit"
|
android:id="@+id/tv_edit"
|
||||||
android:layout_width="@dimen/dp_30"
|
android:layout_width="@dimen/dp_30"
|
||||||
android:layout_height="@dimen/dp_30"
|
android:layout_height="@dimen/dp_30"
|
||||||
android:src="@drawable/icon_home_page_compile"
|
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
|
android:src="@drawable/icon_home_page_compile"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@@ -430,8 +443,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
android:layout_marginEnd="@dimen/dp_15"
|
|
||||||
android:layout_marginTop="@dimen/dp_5"
|
android:layout_marginTop="@dimen/dp_5"
|
||||||
|
android:layout_marginEnd="@dimen/dp_15"
|
||||||
android:layout_marginBottom="@dimen/dp_60"
|
android:layout_marginBottom="@dimen/dp_60"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||||
|
|
||||||
|
@@ -10,303 +10,143 @@
|
|||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_skill"
|
android:id="@+id/ll_personal_data"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/bg_ffffff_8"
|
android:background="@drawable/bg_ffffff_8"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="@dimen/dp_20"
|
android:padding="@dimen/dp_12"
|
||||||
android:paddingTop="@dimen/dp_18"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
android:paddingRight="@dimen/dp_20"
|
|
||||||
android:paddingBottom="@dimen/dp_12"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/me_skill_card"
|
|
||||||
android:textColor="@color/color_333333"
|
|
||||||
android:textSize="@dimen/sp_14"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/recycler_skill"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/dp_8"
|
|
||||||
android:layout_marginBottom="8dp" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/ll_module_hall"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@drawable/bg_ffffff_8"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingStart="20dp"
|
|
||||||
android:paddingTop="18dp"
|
|
||||||
android:paddingEnd="5dp"
|
|
||||||
android:paddingBottom="20dp"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/ll_skill"
|
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<TextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/tv_hall_detail"
|
android:id="@+id/tv_hall_detail1"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/me_association_room"
|
android:text="@string/personal_data"
|
||||||
android:textColor="@color/text_normal_c6c6e9"
|
android:textColor="@color/text_title_color"
|
||||||
android:textSize="@dimen/sp_14"
|
android:textSize="@dimen/sp_14"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:visibility="visible" />
|
android:visibility="visible" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_clan"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="12dp"
|
android:layout_marginTop="@dimen/dp_12"
|
||||||
android:layout_marginBottom="10dp"
|
android:orientation="horizontal">
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<com.yizhuan.erban.common.widget.RectRoundImageView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/iv_clan_avatar"
|
|
||||||
android:layout_width="48dp"
|
|
||||||
android:layout_height="48dp"
|
|
||||||
android:layout_marginEnd="@dimen/dp_10"
|
|
||||||
android:src="@drawable/default_cover"
|
|
||||||
app:borderRadius="8dp"
|
|
||||||
app:type="round" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center_vertical"
|
android:text="@string/user_constellation"
|
||||||
android:orientation="vertical"
|
android:textColor="@color/text_title_color"
|
||||||
android:paddingStart="0dp"
|
android:textSize="@dimen/sp_12" />
|
||||||
android:paddingEnd="10dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_clan_name"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:fontFamily="sans-serif-medium"
|
|
||||||
android:includeFontPadding="false"
|
|
||||||
android:lines="1"
|
|
||||||
android:maxLength="9"
|
|
||||||
android:textColor="@color/text_title_color"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_01" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_clan_id"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/dp_3"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/color_999999"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_02" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_clan_member_num"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="6dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/color_666666"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_03" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_clan_hall_num"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="6dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/text_normal_c6c6e9"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_04" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/iv_clan_level"
|
|
||||||
android:layout_width="70dp"
|
|
||||||
android:layout_height="65dp"
|
|
||||||
android:layout_marginEnd="24dp"
|
|
||||||
android:src="@drawable/default_cover"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/iv_clan_arrow"
|
|
||||||
android:layout_width="40dp"
|
|
||||||
android:layout_height="40dp"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:layout_marginEnd="10dp"
|
|
||||||
android:rotation="90"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/arrow_right" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/ll_hall"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="15dp"
|
|
||||||
android:background="@drawable/top_line"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:paddingTop="7dp"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<com.yizhuan.erban.common.widget.RectRoundImageView
|
|
||||||
android:id="@+id/iv_hall_avatar"
|
|
||||||
android:layout_width="40dp"
|
|
||||||
android:layout_height="40dp"
|
|
||||||
android:layout_marginEnd="@dimen/dp_10"
|
|
||||||
android:src="@drawable/default_cover"
|
|
||||||
app:borderRadius="8dp"
|
|
||||||
app:type="round" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingStart="0dp"
|
|
||||||
android:paddingEnd="10dp">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_hall_name"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:fontFamily="sans-serif-medium"
|
|
||||||
android:hint="@string/me_not_joining_the_room"
|
|
||||||
android:includeFontPadding="false"
|
|
||||||
android:lines="1"
|
|
||||||
android:maxLength="9"
|
|
||||||
android:textColor="@color/text_title_color"
|
|
||||||
android:textColorHint="@color/color_999999"
|
|
||||||
android:textSize="@dimen/sp_12" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_hall_id"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/dp_5"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/text_normal_c6c6e9"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
android:visibility="gone"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_05" />
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="6dp"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:visibility="gone">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_hall_erban_id"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/color_999999"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_06" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_hall_member_num"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="10dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:lines="1"
|
|
||||||
android:textColor="@color/color_999999"
|
|
||||||
android:textSize="@dimen/sp_12"
|
|
||||||
tools:text="@string/layout_fragment_userinfo_userinfo_07" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_apply_hall"
|
android:id="@+id/tv_constellation"
|
||||||
android:layout_width="80dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/dp_28"
|
android:layout_height="@dimen/dp_13"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center_vertical"
|
||||||
android:layout_marginEnd="15dp"
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
android:background="@drawable/bg_gradient_cc66ff_9cb3ff_30"
|
android:background="@drawable/shape_gradient_d3acfe_a486ff"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:includeFontPadding="false"
|
android:includeFontPadding="false"
|
||||||
android:text="@string/me_apply_to_join"
|
android:paddingLeft="6dp"
|
||||||
android:textColor="@color/color_9168FA"
|
android:paddingRight="6dp"
|
||||||
android:textSize="14sp"
|
android:textColor="@color/white"
|
||||||
android:visibility="gone"
|
android:textSize="@dimen/sp_10"
|
||||||
tools:visibility="visible" />
|
tools:text="@string/layout_activity_user_info_03" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_6"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/user_birthday"
|
||||||
|
android:textColor="@color/text_title_color"
|
||||||
|
android:textSize="@dimen/sp_12" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/tvBirth"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
|
android:textColor="@color/text_title_color"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
tools:text="1999-10-21" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/llRoom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_6"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/user_room"
|
||||||
|
android:textColor="@color/text_title_color"
|
||||||
|
android:textSize="@dimen/sp_12" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/tvRoom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
|
android:drawableEnd="@drawable/ic_room_yellow_arrow"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="@color/color_ffbc51"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
tools:text="QX家族" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/llAssociation"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_6"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/user_association"
|
||||||
|
android:textColor="@color/text_title_color"
|
||||||
|
android:textSize="@dimen/sp_12" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/tvAssociation"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_10"
|
||||||
|
android:drawableEnd="@drawable/ic_room_yellow_arrow"
|
||||||
|
android:textColor="@color/color_ffbc51"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
tools:text="無憂傳媒" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/ll_no_association"
|
android:id="@+id/mRecyclerView"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="90dp"
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="@dimen/dp_14"
|
||||||
|
android:layout_marginBottom="@dimen/dp_14"
|
||||||
android:background="@drawable/bg_ffffff_8"
|
android:background="@drawable/bg_ffffff_8"
|
||||||
android:orientation="vertical"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
android:paddingStart="20dp"
|
app:layout_constraintTop_toBottomOf="@+id/ll_personal_data" />
|
||||||
android:paddingTop="18dp"
|
|
||||||
android:paddingEnd="5dp"
|
|
||||||
android:paddingBottom="20dp"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/ll_module_hall"
|
|
||||||
tools:visibility="visible">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/me_association_room"
|
|
||||||
android:textColor="@color/text_normal_c6c6e9"
|
|
||||||
android:textSize="@dimen/sp_14"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:visibility="visible" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:text="@string/not_yet_joined_guild"
|
|
||||||
android:textSize="@dimen/sp_14"
|
|
||||||
android:textColor="@color/color_b3b3b3"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
@@ -5041,5 +5041,10 @@
|
|||||||
<string name="delete_sound">刪除聲音</string>
|
<string name="delete_sound">刪除聲音</string>
|
||||||
<string name="sure_to_delete_sound">確定要刪除這段聲音嗎?</string>
|
<string name="sure_to_delete_sound">確定要刪除這段聲音嗎?</string>
|
||||||
<string name="sound_audit_in_progress">聲音審核中,審核通過即可展示~</string>
|
<string name="sound_audit_in_progress">聲音審核中,審核通過即可展示~</string>
|
||||||
|
<string name="personal_data">個人資料</string>
|
||||||
|
<string name="user_constellation">星座:</string>
|
||||||
|
<string name="user_birthday">生日:</string>
|
||||||
|
<string name="user_room">房間:</string>
|
||||||
|
<string name="user_association">公會:</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@@ -4,7 +4,6 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/bg_ffffff_8"
|
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
android:textColor="@color/text_secondary_4f516a"
|
android:textColor="@color/text_secondary_4f516a"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
android:textSize="@dimen/dp_11"
|
android:textSize="@dimen/sp_10"
|
||||||
tools:text="@string/layout_item_userinfo_dynamic_01" />
|
tools:text="@string/layout_item_userinfo_dynamic_01" />
|
||||||
|
|
||||||
<com.yizhuan.erban.community.widget.ExpandableTextView
|
<com.yizhuan.erban.community.widget.ExpandableTextView
|
||||||
@@ -123,7 +122,7 @@
|
|||||||
android:id="@+id/rl_option"
|
android:id="@+id/rl_option"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_30"
|
android:layout_height="@dimen/dp_30"
|
||||||
android:layout_marginBottom="@dimen/dp_11"
|
android:layout_marginBottom="@dimen/dp_10"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginStart="@dimen/dp_15"
|
android:layout_marginStart="@dimen/dp_15"
|
||||||
@@ -220,11 +219,11 @@
|
|||||||
<View
|
<View
|
||||||
android:id="@+id/line_bottom"
|
android:id="@+id/line_bottom"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1px"
|
android:layout_height="1dp"
|
||||||
android:layout_marginStart="15dp"
|
android:layout_marginStart="@dimen/dp_12"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginEnd="15dp"
|
android:layout_marginEnd="@dimen/dp_12"
|
||||||
android:background="@color/line_353548"
|
android:background="@color/color_F7F7F7"
|
||||||
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/rl_option" />
|
app:layout_constraintTop_toBottomOf="@id/rl_option" />
|
||||||
|
Reference in New Issue
Block a user