From 2771884788399292bc38ec94ba5782c32a940211 Mon Sep 17 00:00:00 2001
From: Toyga <330282372@qq.com>
Date: Wed, 10 Nov 2021 10:11:29 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E7=89=88=E5=9D=97=E5=8F=B3?=
=?UTF-8?q?=E4=B8=8A=E8=A7=92=E6=8C=89=E9=92=AE=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Fragment/CommunityFragment.java | 63 +++++++++++++++++++
.../src/main/res/layout/community_menu.xml | 30 +++++++++
.../main/res/layout/fragment_community.xml | 5 +-
3 files changed, 96 insertions(+), 2 deletions(-)
create mode 100644 Code/LeudaemiaLikeMe/app/src/main/res/layout/community_menu.xml
diff --git a/Code/LeudaemiaLikeMe/app/src/main/java/com/example/leudaemialikeme/Fragment/CommunityFragment.java b/Code/LeudaemiaLikeMe/app/src/main/java/com/example/leudaemialikeme/Fragment/CommunityFragment.java
index 414a171..a981aba 100644
--- a/Code/LeudaemiaLikeMe/app/src/main/java/com/example/leudaemialikeme/Fragment/CommunityFragment.java
+++ b/Code/LeudaemiaLikeMe/app/src/main/java/com/example/leudaemialikeme/Fragment/CommunityFragment.java
@@ -1,11 +1,17 @@
package com.example.leudaemialikeme.Fragment;
+import android.app.ActionBar;
+import android.content.Intent;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.HorizontalScrollView;
+import android.widget.ImageButton;
+import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.RadioGroup;
@@ -13,6 +19,9 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.viewpager.widget.ViewPager;
+import com.example.leudaemialikeme.Activity.GoAnswerActivity;
+import com.example.leudaemialikeme.Activity.SendInvitationActivity;
+import com.example.leudaemialikeme.Activity.SendQuestionActivity;
import com.example.leudaemialikeme.Adapter.InvitationPageFragmentAdapter;
import com.example.leudaemialikeme.R;
@@ -24,6 +33,11 @@ public class CommunityFragment extends Fragment implements ViewPager.OnPageChang
private HorizontalScrollView hvChannel=null; //单选按钮组可滚动动
private String[] channelList = {"关注","全部","经验","扫雷","康复","科普","问答"}; //默认的内导航栏目
private InvitationPageFragmentAdapter adapter; //viewPager 的适配器
+ private PopupWindow popupWindow;
+ private ImageButton tab_add;
+ private Button bar_send_invitation;
+ private Button bar_send_question;
+ private Button bar_answer;
public CommunityFragment() {
// Required empty public constructor
@@ -34,6 +48,7 @@ public class CommunityFragment extends Fragment implements ViewPager.OnPageChang
Bundle savedInstanceState) {
if(view==null){
view=inflater.inflate(R.layout.fragment_community, container, false);
+ tab_add = (ImageButton)view.findViewById(R.id.tab_add);
viewPager=(ViewPager)view.findViewById(R.id.vpNewsList);
initViewPager(); //设置 ViewPager
@@ -49,6 +64,53 @@ public class CommunityFragment extends Fragment implements ViewPager.OnPageChang
}
}
);
+ tab_add.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //获取自定义菜单的布局文件
+ View popupWindow_view=getLayoutInflater().inflate(R.layout.community_menu,null,false);
+ //创建popupWindow实例,设置菜单的宽度和高度
+ popupWindow = new PopupWindow(popupWindow_view, ActionBar.LayoutParams.WRAP_CONTENT,ActionBar.LayoutParams.WRAP_CONTENT,true);
+ //设置菜单显示在按钮的下面
+ popupWindow.showAsDropDown(view.findViewById(R.id.tab_add),0,0);
+ //单机其它位置隐藏菜单
+ popupWindow_view.setOnTouchListener(new View.OnTouchListener(){
+ @Override
+ public boolean onTouch(View v, MotionEvent event){
+ //如果菜单存在并且处于显示状态
+ if (popupWindow!=null&&popupWindow.isShowing()){
+ popupWindow.dismiss();//关闭菜单
+ popupWindow=null;
+ }
+ return false;
+ }
+ });
+ bar_send_invitation = (Button)popupWindow_view.findViewById(R.id.bar_send_invitation);
+ bar_send_question = (Button)popupWindow_view.findViewById(R.id.bar_send_question);
+ bar_answer = (Button)popupWindow_view.findViewById(R.id.bar_answer);
+ bar_send_invitation.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent=new Intent(getActivity(), SendInvitationActivity.class);
+ startActivity(intent);
+ }
+ });
+ bar_send_question.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent=new Intent(getActivity(), SendQuestionActivity.class);
+ startActivity(intent);
+ }
+ });
+ bar_answer.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent=new Intent(getActivity(), GoAnswerActivity.class);
+ startActivity(intent);
+ }
+ });
+ }
+ });
}
return view;
}
@@ -104,4 +166,5 @@ public class CommunityFragment extends Fragment implements ViewPager.OnPageChang
int len=left+width/2-screenWidth/2;
hvChannel.smoothScrollTo(len,0);
}
+
}
\ No newline at end of file
diff --git a/Code/LeudaemiaLikeMe/app/src/main/res/layout/community_menu.xml b/Code/LeudaemiaLikeMe/app/src/main/res/layout/community_menu.xml
new file mode 100644
index 0000000..27cc333
--- /dev/null
+++ b/Code/LeudaemiaLikeMe/app/src/main/res/layout/community_menu.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Code/LeudaemiaLikeMe/app/src/main/res/layout/fragment_community.xml b/Code/LeudaemiaLikeMe/app/src/main/res/layout/fragment_community.xml
index 3e4fb62..29a4cf4 100644
--- a/Code/LeudaemiaLikeMe/app/src/main/res/layout/fragment_community.xml
+++ b/Code/LeudaemiaLikeMe/app/src/main/res/layout/fragment_community.xml
@@ -42,12 +42,13 @@
+ android:src="@mipmap/img_add"
+ />