创建游戏,游戏界面完成
This commit is contained in:
parent
37217e529e
commit
866024ae95
@ -18,10 +18,12 @@ public class SudTitleSelectAdapter extends RecyclerView.Adapter {
|
||||
private List<String> selectString = new ArrayList<>();
|
||||
|
||||
private int mIndex;
|
||||
private int mType;
|
||||
|
||||
public SudTitleSelectAdapter(List<String> selectString, int index) {
|
||||
public SudTitleSelectAdapter(List<String> selectString, int index, int type) {
|
||||
this.selectString = selectString;
|
||||
mIndex = index;
|
||||
mType = type;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ -39,6 +41,7 @@ public class SudTitleSelectAdapter extends RecyclerView.Adapter {
|
||||
public void onSudTitleSelectCallBack(int index) {
|
||||
if (sudTitleSelectCallBack != null) {
|
||||
sudTitleSelectCallBack.onSudTitleSelectCallBack(index);
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -15,8 +15,10 @@ import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.bean.SudRoomListModel;
|
||||
import com.yunbao.common.event.RoomHolderTypeEvent;
|
||||
import com.yunbao.common.event.SudGameListDissMissEvent;
|
||||
import com.yunbao.common.event.SudGameListEvent;
|
||||
import com.yunbao.common.event.SudGameListSillEvent;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
@ -31,11 +33,12 @@ import java.util.List;
|
||||
public class SudGameListPopup extends BottomPopupView {
|
||||
private long interactionID = 0;
|
||||
private List<CustomSidebarChildModel> customSidebarChildModels = new ArrayList<>();
|
||||
private ImageView roomGameArrow;
|
||||
private ImageView roomGameArrow, roomSillArrow, houseOwnerArrow;
|
||||
|
||||
private TextView gameTitle;
|
||||
private TextView gameTitle, sillTitle, houseOwnerTitle;
|
||||
private String id = "0", mLiveUid;
|
||||
private int page = 0;
|
||||
private String mSill = "0,0", mSillName, roomHolderType = "0", roomHolderTypeName;
|
||||
|
||||
public SudGameListPopup(@NonNull Context context, long interactionID, List<CustomSidebarChildModel> child, String liveUid) {
|
||||
super(context);
|
||||
@ -62,7 +65,7 @@ public class SudGameListPopup extends BottomPopupView {
|
||||
|
||||
private void initDate() {
|
||||
LiveNetManager.get(getContext())
|
||||
.getRoomList(id, "0,0", "0", mLiveUid, page, new HttpCallback<List<SudRoomListModel>>() {
|
||||
.getRoomList(id, mSill, roomHolderType, mLiveUid, page, new HttpCallback<List<SudRoomListModel>>() {
|
||||
@Override
|
||||
public void onSuccess(List<SudRoomListModel> data) {
|
||||
|
||||
@ -77,7 +80,11 @@ public class SudGameListPopup extends BottomPopupView {
|
||||
|
||||
private void initView() {
|
||||
roomGameArrow = findViewById(R.id.room_game_arrow);
|
||||
roomSillArrow = findViewById(R.id.room_sill_arrow);
|
||||
houseOwnerArrow = findViewById(R.id.house_owner_arrow);
|
||||
gameTitle = findViewById(R.id.game_title);
|
||||
sillTitle = findViewById(R.id.room_sill_text);
|
||||
houseOwnerTitle = findViewById(R.id.house_owner_text);
|
||||
for (CustomSidebarChildModel model : customSidebarChildModels) {
|
||||
if (TextUtils.equals(String.valueOf(interactionID), model.getSrc())) {
|
||||
gameTitle.setText(model.getTitle().substring(0, 2));
|
||||
@ -101,6 +108,42 @@ public class SudGameListPopup extends BottomPopupView {
|
||||
.show();
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.room_sill), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(roomSillArrow, "rotation", 0f, 90f);
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
XPopup.Builder builder = new XPopup.Builder(getContext()).atView(findViewById(R.id.room_sill));
|
||||
builder.hasShadowBg(false)
|
||||
.isDestroyOnDismiss(true)
|
||||
.isLightStatusBar(false)
|
||||
.popupPosition(PopupPosition.Bottom)
|
||||
.asCustom(new SudGameListSelectPopup(getContext(), 1, mSillName))
|
||||
.show();
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.house_owner), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(houseOwnerArrow, "rotation", 0f, 90f);
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
XPopup.Builder builder = new XPopup.Builder(getContext()).atView(findViewById(R.id.house_owner));
|
||||
builder.hasShadowBg(false)
|
||||
.isDestroyOnDismiss(true)
|
||||
.isLightStatusBar(false)
|
||||
.popupPosition(PopupPosition.Bottom)
|
||||
.asCustom(new SudGameListSelectPopup(getContext(), 2, roomHolderTypeName))
|
||||
.show();
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.interactive_game_add), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@ -132,6 +175,40 @@ public class SudGameListPopup extends BottomPopupView {
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
page=0;
|
||||
initDate();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onSudGameListEvent(SudGameListSillEvent event) {
|
||||
mSill = event.getSill();
|
||||
mSillName = event.getSillName();
|
||||
if (TextUtils.equals("0,0", mSill)) {
|
||||
sillTitle.setText(mSillName);
|
||||
} else {
|
||||
sillTitle.setText(mSillName.substring(0, mSillName.length() - 2));
|
||||
}
|
||||
|
||||
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(roomSillArrow, "rotation", 90f, 0f);
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
page=0;
|
||||
initDate();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onSudGameListEvent(RoomHolderTypeEvent event) {
|
||||
roomHolderType = event.getRoomHolderType();
|
||||
roomHolderTypeName = event.getRoomHolderTypeName();
|
||||
houseOwnerTitle.setText(roomHolderTypeName);
|
||||
ObjectAnimator animator = ObjectAnimator.ofFloat(houseOwnerArrow, "rotation", 90f, 0f);
|
||||
animator.setDuration(500);
|
||||
animator.setInterpolator(new LinearInterpolator());
|
||||
animator.start();
|
||||
page=0;
|
||||
initDate();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
@ -13,23 +13,29 @@ import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.SudTitleSelectAdapter;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.event.CreateSudGameEvent;
|
||||
import com.yunbao.common.event.RoomHolderTypeEvent;
|
||||
import com.yunbao.common.event.SudGameListEvent;
|
||||
import com.yunbao.common.event.SudGameListSillEvent;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class SudGameListSelectPopup extends AttachPopupView {
|
||||
private int mType;
|
||||
private List<CustomSidebarChildModel> customSidebarChildModels = new ArrayList<>();
|
||||
private List<String> selectString = new ArrayList<>();
|
||||
private Map<String, String> selectSill = new HashMap<>();
|
||||
private TextView topSelect;
|
||||
|
||||
private RecyclerView sudTitleSelect;
|
||||
|
||||
private SudTitleSelectAdapter sudTitleSelectAdapter;
|
||||
private long interactionID = 0;
|
||||
private String mSill;
|
||||
|
||||
public SudGameListSelectPopup(@NonNull Context context, int type, List<CustomSidebarChildModel> child, long interactionID) {
|
||||
super(context);
|
||||
@ -38,6 +44,13 @@ public class SudGameListSelectPopup extends AttachPopupView {
|
||||
this.interactionID = interactionID;
|
||||
}
|
||||
|
||||
public SudGameListSelectPopup(@NonNull Context context, int mType, String sill) {
|
||||
super(context);
|
||||
this.mType = mType;
|
||||
mSill = sill;
|
||||
}
|
||||
|
||||
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.view_sud_game_slelect;
|
||||
}
|
||||
@ -55,7 +68,7 @@ public class SudGameListSelectPopup extends AttachPopupView {
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
sudTitleSelectAdapter = new SudTitleSelectAdapter(selectString, index);
|
||||
sudTitleSelectAdapter = new SudTitleSelectAdapter(selectString, index, mType);
|
||||
sudTitleSelect.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||
sudTitleSelect.setAdapter(sudTitleSelectAdapter);
|
||||
if (interactionID == 0) {
|
||||
@ -80,6 +93,62 @@ public class SudGameListSelectPopup extends AttachPopupView {
|
||||
.setTitle(customSidebarChildModels.get(index).getTitle()));
|
||||
}
|
||||
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
} else if (mType == 1) {
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_unlimited));
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_0_1));
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_1_2));
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_2_5));
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_5));
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_unlimited), "0,0");
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_0_1), "0,1");
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_1_2), "1,2");
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_2_5), "2,5");
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_5), "5,0");
|
||||
index = 0;
|
||||
for (int i = 0; i < selectString.size(); i++) {
|
||||
if (TextUtils.equals(mSill, selectString.get(i))) {
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
sudTitleSelectAdapter = new SudTitleSelectAdapter(selectString, index, mType);
|
||||
sudTitleSelect.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||
sudTitleSelect.setAdapter(sudTitleSelectAdapter);
|
||||
topSelect.setVisibility(GONE);
|
||||
sudTitleSelectAdapter.setSudTitleSelectCallBack(new SudTitleSelectAdapter.SudTitleSelectCallBack() {
|
||||
@Override
|
||||
public void onSudTitleSelectCallBack(int index) {
|
||||
String sillName = selectString.get(index);
|
||||
String sill = selectSill.get(sillName);
|
||||
Bus.get().post(new SudGameListSillEvent().setSill(sill).setSillName(sillName));
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
} else if (mType == 2) {
|
||||
selectString.add(getContext().getString(R.string.interactive_game_create_unlimited));
|
||||
selectString.add(getContext().getString(R.string.live_anchor));
|
||||
selectString.add(getContext().getString(R.string.interactive_game_player));
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_create_unlimited), "0");
|
||||
selectSill.put(getContext().getString(R.string.live_anchor), "1");
|
||||
selectSill.put(getContext().getString(R.string.interactive_game_player), "2");
|
||||
index = 0;
|
||||
for (int i = 0; i < selectString.size(); i++) {
|
||||
if (TextUtils.equals(mSill, selectString.get(i))) {
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
sudTitleSelectAdapter = new SudTitleSelectAdapter(selectString, index, mType);
|
||||
sudTitleSelect.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||
sudTitleSelect.setAdapter(sudTitleSelectAdapter);
|
||||
topSelect.setVisibility(GONE);
|
||||
sudTitleSelectAdapter.setSudTitleSelectCallBack(new SudTitleSelectAdapter.SudTitleSelectCallBack() {
|
||||
@Override
|
||||
public void onSudTitleSelectCallBack(int index) {
|
||||
String roomHolderTypeName = selectString.get(index);
|
||||
String roomHolderType = selectSill.get(roomHolderTypeName);
|
||||
Bus.get().post(new RoomHolderTypeEvent().setRoomHolderType(roomHolderType).setRoomHolderTypeName(roomHolderTypeName));
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
@ -0,0 +1,26 @@
|
||||
package com.yunbao.common.event;
|
||||
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
|
||||
public class RoomHolderTypeEvent extends BaseModel {
|
||||
private String roomHolderType;
|
||||
private String roomHolderTypeName;
|
||||
|
||||
public String getRoomHolderType() {
|
||||
return roomHolderType;
|
||||
}
|
||||
|
||||
public RoomHolderTypeEvent setRoomHolderType(String roomHolderType) {
|
||||
this.roomHolderType = roomHolderType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getRoomHolderTypeName() {
|
||||
return roomHolderTypeName;
|
||||
}
|
||||
|
||||
public RoomHolderTypeEvent setRoomHolderTypeName(String roomHolderTypeName) {
|
||||
this.roomHolderTypeName = roomHolderTypeName;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.yunbao.common.event;
|
||||
|
||||
import com.yunbao.common.bean.BaseModel;
|
||||
|
||||
public class SudGameListSillEvent extends BaseModel {
|
||||
private String sillName;
|
||||
private String sill;
|
||||
|
||||
public String getSillName() {
|
||||
return sillName;
|
||||
}
|
||||
|
||||
public SudGameListSillEvent setSillName(String sillName) {
|
||||
this.sillName = sillName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSill() {
|
||||
return sill;
|
||||
}
|
||||
|
||||
public SudGameListSillEvent setSill(String sill) {
|
||||
this.sill = sill;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -103,21 +103,24 @@
|
||||
android:textSize="14sp" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/room_sill"
|
||||
android:layout_width="74dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:background="@drawable/bg_live_sud_list_btn">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/room_sill_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="6dp"
|
||||
android:text="2k-5k"
|
||||
android:text="@string/interactive_game_create_unlimited"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/room_sill_arrow"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="14dp"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
@ -134,6 +137,7 @@
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/house_owner"
|
||||
android:layout_width="58dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginStart="4dp"
|
||||
@ -141,14 +145,16 @@
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/house_owner_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:text="@string/interactive_game_room_game_all"
|
||||
android:text="@string/interactive_game_create_unlimited"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/house_owner_arrow"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="14dp"
|
||||
android:layout_marginStart="8dp"
|
||||
|
@ -1336,4 +1336,10 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="interactive_game_create_game_sill">游戲門檻:</string>
|
||||
<string name="interactive_game_create_game_select">請選擇游戲</string>
|
||||
<string name="interactive_game_create_gold_bean_quantity">請選擇金豆數量</string>
|
||||
<string name="interactive_game_create_unlimited">不限</string>
|
||||
<string name="interactive_game_create_0_1">0K-1K金豆</string>
|
||||
<string name="interactive_game_create_1_2">1K-2K金豆</string>
|
||||
<string name="interactive_game_create_2_5">2K-5K金豆</string>
|
||||
<string name="interactive_game_create_5">5K以上金豆</string>
|
||||
<string name="interactive_game_player">玩家</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user