修改礼物墙ui,首页房间ui和Google配置

This commit is contained in:
wushaocheng
2022-10-26 19:04:24 +08:00
parent 3c7f0f27bc
commit f3fa5cf12c
19 changed files with 179 additions and 54 deletions

View File

@@ -14,7 +14,7 @@
},
"oauth_client": [
{
"client_id": "766987211654-2b4de5kbhe7tpgtfto4bjll3dj7ih26u.apps.googleusercontent.com",
"client_id": "766987211654-oe8kjt7rserq31d1rdulqj2aao5b96a7.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.vele.peko",

View File

@@ -27,17 +27,5 @@ class HomeHotAdapter :
helper.setGone(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict))
ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_room_tag), item.tagPict)
val avatars: Array<ImageView> = arrayOf(
helper.getView(R.id.iv_avatar_0),
helper.getView(R.id.iv_avatar_1),
helper.getView(R.id.iv_avatar_2),
helper.getView(R.id.iv_avatar_3),
helper.getView(R.id.iv_avatar_4)
)
for (i in avatars.indices) {
val avatarUrl = item.micUsers?.getOrNull(i)?.avatar
avatars[i].isGone = avatarUrl.isNullOrBlank()
avatars[i].load(avatarUrl)
}
}
}

View File

@@ -16,6 +16,8 @@ import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseBindingFragment;
import com.yizhuan.erban.databinding.FragmentUserInfoGiftBinding;
import com.yizhuan.erban.ui.user.adapter.UserGiftAdapter;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
import com.yizhuan.erban.ui.widget.recyclerview.decoration.GridSpacingItemNewDecoration;
import com.yizhuan.xchat_android_core.bean.UserInfoItem;
import com.yizhuan.xchat_android_core.user.UserInfoUiMgr;
import com.yizhuan.xchat_android_core.user.UserModel;
@@ -87,7 +89,10 @@ public class UserInfoGiftFragment extends BaseBindingFragment<FragmentUserInfoGi
@Override
public void initiate() {
isDetails = requireArguments().getBoolean("isDetails", false);
mBinding.rvGift.setLayoutManager(new GridLayoutManager(mContext, 4));
mBinding.rvGift.setLayoutManager(new GridLayoutManager(mContext, 12));
// mBinding.rvGift.addItemDecoration(new GridSpacingItemNewDecoration(
// UIUtil.dip2px(mContext, 10), UIUtil.dip2px(mContext, 10), true
// ));
userGiftAdapter = new UserGiftAdapter(mContext, userInfoItems, isDetails);
userGiftAdapter.bindToRecyclerView(mBinding.rvGift);
userGiftAdapter.setSpanSizeLookup(new BaseQuickAdapter.SpanSizeLookup() {
@@ -95,13 +100,15 @@ public class UserInfoGiftFragment extends BaseBindingFragment<FragmentUserInfoGi
public int getSpanSize(GridLayoutManager gridLayoutManager, int position) {
List<UserInfoItem> list = userGiftAdapter.getData();
if (ListUtils.isListEmpty(list))
return 4;
return 12;
UserInfoItem userInfoItem = list.get(position);
int type = userInfoItem.getItemType();
if (type == UserInfoItem.TYPE_DIV || type == UserInfoItem.TYPE_GIFT_EMPTY) {
return 12;
} else if (type == UserInfoItem.TYPE_GIFT_ITEM_TOP) {
return 4;
} else
return 1;
return 3;
}
});
@@ -149,10 +156,14 @@ public class UserInfoGiftFragment extends BaseBindingFragment<FragmentUserInfoGi
} else {
UserInfoItem<GiftWallInfo> userInfoItem;
for (int i = 0; i < giftWallInfoList.size(); i++) {
userInfoItem = new UserInfoItem<>(UserInfoItem.TYPE_GIFT_ITEM, giftWallInfoList.get(i));
if (i < 3) {
userInfoItem = new UserInfoItem<>(UserInfoItem.TYPE_GIFT_ITEM_TOP, giftWallInfoList.get(i));
} else {
userInfoItem = new UserInfoItem<>(UserInfoItem.TYPE_GIFT_ITEM, giftWallInfoList.get(i));
}
userInfoItems.add(userInfoItem);
//非礼物详情页主需要12个就够了
if (!isDetails && i == 11){
if (!isDetails && i == 11) {
break;
}
}

View File

@@ -1,6 +1,7 @@
package com.yizhuan.erban.ui.user.adapter;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseViewHolder;
@@ -17,6 +18,7 @@ public class UserGiftAdapter extends UserTabBaseAdapter {
public UserGiftAdapter(Context context, List<UserInfoItem> data, boolean isDetails) {
super(context, data);
addItemType(UserInfoItem.TYPE_GIFT_ITEM_TOP, R.layout.list_item_gift_wall_info);
addItemType(UserInfoItem.TYPE_GIFT_ITEM, R.layout.list_item_gift_wall_info);
addItemType(UserInfoItem.TYPE_GIFT_EMPTY, R.layout.layout_gift_empty);
this.isDetails = isDetails;
@@ -31,8 +33,11 @@ public class UserGiftAdapter extends UserTabBaseAdapter {
super.convert(helper, item);
switch (item.getItemType()) {
case UserInfoItem.TYPE_GIFT_ITEM_TOP:
setGiftItem(helper, item, UserInfoItem.TYPE_GIFT_ITEM_TOP);
case UserInfoItem.TYPE_GIFT_ITEM:
setGiftItem(helper, item);
setGiftItem(helper, item, UserInfoItem.TYPE_GIFT_ITEM);
break;
case UserInfoItem.TYPE_GIFT_EMPTY:
@@ -41,7 +46,7 @@ public class UserGiftAdapter extends UserTabBaseAdapter {
}
private void setGiftItem(BaseViewHolder helper, UserInfoItem item) {
private void setGiftItem(BaseViewHolder helper, UserInfoItem item, int type) {
GiftWallInfo giftWallInfo = (GiftWallInfo) item.getData();
if (giftWallInfo != null) {
@@ -49,12 +54,22 @@ public class UserGiftAdapter extends UserTabBaseAdapter {
helper.setText(R.id.gift_name, giftWallInfo.getGiftName())
.setGone(R.id.gift_name, isDetails)
.setText(R.id.gift_num, "x" + giftWallInfo.getReciveCount())
.setBackgroundRes(R.id.gift_num, isDetails ? R.drawable.bg_user_gift_item_details : R.drawable.bg_user_gift_item)
.setText(R.id.gift_price, giftWallInfo.getGiftPrice() + "")
.setGone(R.id.gift_price, isDetails);
ImageView giftPic = helper.itemView.findViewById(R.id.gift_img);
ImageLoadUtils.loadImage(mContext, giftWallInfo.getPicUrl(), giftPic);
ImageView giftLevel = helper.itemView.findViewById(R.id.iv_gift_level);
if(type == UserInfoItem.TYPE_GIFT_ITEM_TOP){
if(helper.getAdapterPosition() == 0) {
giftLevel.setImageResource(R.drawable.ic_gift_one);
}else if(helper.getAdapterPosition() == 1){
giftLevel.setImageResource(R.drawable.ic_gift_two);
}else if(helper.getAdapterPosition() == 2){
giftLevel.setImageResource(R.drawable.ic_gift_three);
}
}
}
}

View File

@@ -0,0 +1,88 @@
package com.yizhuan.erban.ui.widget.recyclerview.decoration;
import android.graphics.Rect;
import android.view.View;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
/**
* User: wukai
* Date: 2017/03/26
* Description: 设置RecyclerView布局垂直和水平间隔
*/
public class GridSpacingItemNewDecoration extends RecyclerView.ItemDecoration {
private int mVerSpacing;
private int mHorSpacing;
private boolean mIncludeEdge;
private boolean mHasHeaderView;
public GridSpacingItemNewDecoration(int spacing, boolean includeEdge) {
this(spacing, spacing, includeEdge);
}
public GridSpacingItemNewDecoration(int verSpacing, int horSpacing, boolean includeEdge) {
mVerSpacing = verSpacing;
mHorSpacing = horSpacing;
mIncludeEdge = includeEdge;
}
public GridSpacingItemNewDecoration(int verSpacing, int horSpacing, boolean includeEdge, boolean hasHeaderView) {
mVerSpacing = verSpacing;
mHorSpacing = horSpacing;
mIncludeEdge = includeEdge;
mHasHeaderView = hasHeaderView;
}
private int getSpanCount(RecyclerView parent) {
int spanCount = -1;
RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
if (layoutManager instanceof GridLayoutManager) {
spanCount = ((GridLayoutManager) layoutManager).getSpanCount();
} else if (layoutManager instanceof StaggeredGridLayoutManager) {
spanCount = ((StaggeredGridLayoutManager) layoutManager).getSpanCount();
}
return spanCount;
}
private int getSpanIndex(View view, RecyclerView parent) {
int spanIndex = parent.getChildAdapterPosition(view);
RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
if (layoutManager instanceof StaggeredGridLayoutManager) {
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
spanIndex = layoutParams.getSpanIndex();
}
return spanIndex;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int spanCount = getSpanCount(parent);
int position = parent.getChildAdapterPosition(view); // item position
int spanIndex = getSpanIndex(view, parent);
int column = spanIndex % spanCount; // item column
if(position == 0 && mHasHeaderView) {
return;
}
if (mIncludeEdge) {
outRect.left = mHorSpacing - column * mHorSpacing / spanCount; // spacing - column * ((1f / spanCount) * spacing)
outRect.right = (column + 1) * mHorSpacing / spanCount; // (column + 1) * ((1f / spanCount) * spacing)
if (position < spanCount) { // top edge 第一行设置top
outRect.top = mVerSpacing;
}
outRect.bottom = mVerSpacing; // item bottom 每次都是设置bottom
} else {
outRect.left = column * mHorSpacing / spanCount; // column * ((1f / spanCount) * spacing)
outRect.right = mHorSpacing - (column + 1) * mHorSpacing / spanCount; // spacing - (column + 1) * ((1f / spanCount) * spacing)
if (position >= spanCount) { // 第二行开始设置top
outRect.top = mVerSpacing; // item top
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="8dp" />
<solid android:color="#F3F5FA" />
</shape>

View File

@@ -66,7 +66,7 @@
android:text="0.0"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_30"
android:layout_marginTop="18dp"
android:layout_marginTop="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_title_diamond"

View File

@@ -8,13 +8,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
android:layout_marginBottom="@dimen/dp_10">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_gift"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_16"
android:layout_marginBottom="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent" />
</LinearLayout>

View File

@@ -5,6 +5,7 @@
android:id="@+id/rv_dynamic"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_14" />
android:layout_marginTop="@dimen/dp_14"
android:layout_marginBottom="@dimen/dp_14"/>
</layout>

View File

@@ -23,7 +23,7 @@
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_gift"
android:layout_width="match_parent"
android:layout_height="280dp" />
android:layout_height="320dp" />
</LinearLayout>

View File

@@ -92,7 +92,7 @@
android:layout_marginTop="14dp"
android:layout_marginEnd="@dimen/dp_12"
android:drawablePadding="2dp"
android:gravity="bottom"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="@color/color_333333"
android:textSize="12sp"
@@ -107,6 +107,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="18dp"
android:layout_marginBottom="20dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent">

View File

@@ -31,16 +31,6 @@
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_4"
android:gravity="end"
android:text="USD"
android:includeFontPadding="false"
android:textColor="@color/color_B3B3C3"
android:textSize="@dimen/sp_12"/>
<TextView
android:id="@+id/item_charge_money"
android:layout_width="wrap_content"

View File

@@ -1,30 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
>
android:layout_marginStart="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/bg_f3f5fa_r8">
<ImageView
android:id="@+id/iv_gift_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:src="@drawable/ic_gift_one"
android:visibility="visible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/gift_img"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginTop="10dp" />
android:layout_marginTop="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/gift_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/bg_user_gift_item"
android:layout_marginTop="@dimen/dp_5"
android:gravity="center"
android:includeFontPadding="false"
android:paddingStart="8dp"
android:paddingEnd="@dimen/dp_8"
android:textColor="@color/color_333333"
android:textSize="12dp"
android:textColor="@color/color_6D6B89"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/gift_img"
tools:text="x120" />
<TextView
@@ -32,11 +48,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:ellipsize="end"
android:lines="1"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="12dp"
android:textSize="@dimen/sp_12"
android:layout_marginTop="@dimen/dp_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/gift_num"
tools:text="@string/layout_list_item_gift_wall_info_01" />
<TextView
@@ -45,11 +64,13 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="3dp"
android:drawableStart="@drawable/ic_gift_diamond"
android:gravity="center_vertical"
android:textColor="@color/color_999999"
android:textSize="11dp"
android:textSize="12sp"
app:drawableStartCompat="@drawable/icon_diamond"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/gift_name"
tools:text="10" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -32,6 +32,7 @@ public class UserInfoItem<T extends Serializable> implements MultiItemEntity, Pa
public static final transient int TYPE_DES_HALL = 14;// 资料_模厅
public static final transient int TYPE_DES_GAME = 15;// 资料_本周战绩
public static final transient int TYPE_DES_JOIN_WORLDS = 17;// 资料_话题列表
public static final transient int TYPE_GIFT_ITEM_TOP = 18;// 礼物_礼物列表置顶
//类型
private int itemType;

View File

@@ -25,7 +25,7 @@ MobSDK {
}
GooglePlus {
appId "766987211654-2b4de5kbhe7tpgtfto4bjll3dj7ih26u.apps.googleusercontent.com"
appId "766987211654-oe8kjt7rserq31d1rdulqj2aao5b96a7.apps.googleusercontent.com"
callbackUri "http://localhost"
officialVersion "default"
enable true

View File

@@ -10,7 +10,7 @@
<Twitter Enable="false" />
<Evernote Enable="false" />
<FourSquare Enable="false" />
<GooglePlus OfficialVersion="default" Enable="true" ClientID="766987211654-2b4de5kbhe7tpgtfto4bjll3dj7ih26u.apps.googleusercontent.com" RedirectUrl="http://localhost" />
<GooglePlus OfficialVersion="default" Enable="true" ClientID="766987211654-oe8kjt7rserq31d1rdulqj2aao5b96a7.apps.googleusercontent.com" RedirectUrl="http://localhost" />
<Instagram Enable="false" />
<LinkedIn Enable="false" />
<Tumblr Enable="false" />