聊天增加分类筛选

This commit is contained in:
ningwenqiang
2024-08-27 14:01:00 +08:00
parent cfb5a5aac2
commit 7fb4a10425
27 changed files with 721 additions and 42 deletions

View File

@@ -73,6 +73,7 @@ import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.ViewPageIndicatorUtils;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.AbsMainViewHolder;
import com.yunbao.common.views.MsgChatTypeSelectPoPupView;
import com.yunbao.common.views.MsgRecommendPopupView;
import com.yunbao.common.views.MsgSysDelPopupView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
@@ -134,12 +135,14 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
private ConstraintLayout tabLayout1, tabLayout2, tabLayout3;
private TextView tab1, tab2, tab3;
private ImageView imageView1, imageView2, imageView3;
private View tab_line1, tab_line2, tab_line3;
private ImageView tab_icon;
private List<ConstraintLayout> relativeLayouts = new ArrayList<>();
private List<TextView> tabTexts = new ArrayList<>();
private List<View> tabLine = new ArrayList<>();
private List<ImageView> tabExpend = new ArrayList<>();
private LinearLayout tabLayouts;
private int userType = 0; // (0)普通用户 (1)主播A (2)主播B
@@ -201,6 +204,20 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tab2 = findViewById(R.id.tab2);
tab3 = findViewById(R.id.tab3);
imageView1 = findViewById(R.id.expendImg1);
imageView2 = findViewById(R.id.expendImg2);
imageView3 = findViewById(R.id.expendImg3);
imageView1.setOnClickListener(view -> {
selectChatType(view, 0);
});
imageView2.setOnClickListener(view -> {
selectChatType(view, 1);
});
imageView3.setOnClickListener(view -> {
selectChatType(view, 2);
});
tab_line1 = findViewById(R.id.tab_line1);
tab_line2 = findViewById(R.id.tab_line2);
tab_line3 = findViewById(R.id.tab_line3);
@@ -224,6 +241,25 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
});
}
private void selectChatType(View view, int position) {
AbsMainMessageChatListFragment fragment = fragmentList.get(position);
if (!(fragment instanceof MainMessageChatListFragment) || !(view instanceof ImageView)) {
return;
}
MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment;
ImageView expendImg = (ImageView) view;
expendImg.setImageResource(R.mipmap.ic_expend_down);
XPopup.Builder builder = new XPopup.Builder(mContext).atView(relativeLayouts.get(position));
builder.asCustom(new MsgChatTypeSelectPoPupView(mContext, chatFragment.getFilter(), new MsgChatTypeSelectPoPupView.ResultCallBack() {
@Override
public void callBack(int i) {
chatFragment.setFilter(i);
expendImg.setImageResource(R.mipmap.ic_expend_up);
}
})).show();
}
private void initFragment() {
final String[] titles;
fragmentList = new ArrayList<>();
@@ -264,9 +300,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
return fragmentList.get(i);
}
});
if(userType==1){
if (userType == 1) {
viewPager.setCurrentItem(1);
}else{
} else {
viewPager.setCurrentItem(0);
}
viewPager.setUserInputEnabled(false);
@@ -340,7 +376,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
if(!StringUtil.isEmpty(search.getText().toString())) {
if (!StringUtil.isEmpty(search.getText().toString())) {
search.setText("");
}
selectTab(position);
@@ -369,6 +405,12 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
});
}
private void showChatTypeSelect() {
}
private void initTabView() {
relativeLayouts = new ArrayList<>();
tabTexts = new ArrayList<>();
@@ -382,6 +424,10 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tabTexts.add(tab2);
tabTexts.add(tab3);
tabExpend.add(imageView1);
tabExpend.add(imageView2);
tabExpend.add(imageView3);
tabLine.add(tab_line1);
tabLine.add(tab_line2);
tabLine.add(tab_line3);
@@ -390,6 +436,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
ViewGroup.LayoutParams params = tabLayouts.getLayoutParams();
params.width = LinearLayout.LayoutParams.WRAP_CONTENT;
tabExpend.get(0).setVisibility(View.VISIBLE);
tabLayouts.setLayoutParams(params);
} else if (userType == 1) {//主播A
tab_icon.setVisibility(View.VISIBLE);
@@ -410,7 +457,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
tabExpend.get(1).setVisibility(View.VISIBLE);
} else { //主播B
tabExpend.get(0).setVisibility(View.VISIBLE);
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
@@ -428,9 +477,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
}
});
}
if(userType==1){
if (userType == 1) {
selectTab(1);
}else{
} else {
selectTab(0);
}
}

View File

@@ -312,12 +312,12 @@
android:paddingEnd="20dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
android:layout_weight="1"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/tab_icon"
@@ -363,26 +363,39 @@
android:id="@+id/tab_line1"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top1"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab1"
app:layout_constraintStart_toStartOf="@+id/tab1"
app:layout_constraintTop_toBottomOf="@+id/tab1" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/expendImg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:visibility="gone"
tools:visibility="visible"
android:src="@mipmap/ic_expend_up"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/tab_top1"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
android:layout_weight="1"
android:visibility="gone"
tools:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top2"
@@ -414,27 +427,38 @@
<View
android:id="@+id/tab_line2"
android:layout_width="0dp"
android:layout_marginTop="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_below="@+id/tab_top2"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab2"
app:layout_constraintStart_toStartOf="@+id/tab2"
app:layout_constraintTop_toBottomOf="@+id/tab2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/expendImg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:visibility="gone"
tools:visibility="visible"
android:src="@mipmap/ic_expend_up"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/tab_top2"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
android:layout_weight="1"
android:visibility="gone"
tools:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top3"
@@ -466,18 +490,31 @@
<View
android:id="@+id/tab_line3"
android:layout_width="0dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top3"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginEnd="3dp"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab3"
app:layout_constraintStart_toStartOf="@+id/tab3"
app:layout_constraintTop_toBottomOf="@+id/tab3" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/expendImg3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:visibility="gone"
tools:visibility="visible"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_expend_up"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/tab_top3"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B