作者 朱振飞

Merge branch 'retain' of http://114.215.101.231:8099/liming/ClasManage into retain

... ... @@ -72,6 +72,11 @@ public class JxtFragment extends BaseFragment {
MyAdapter fragmentAdater;
@Override
protected void initView(View root) {
if (Config.IDENTITY == 0){
jiaImgButton.setVisibility(View.VISIBLE);
}else {
jiaImgButton.setVisibility(View.GONE);
}
jxtTypeBeans = new ArrayList<>();
jxtTypeBeans.add(new JxtTypeBean("全部", true));
jxtTypeBeans.add(new JxtTypeBean("作业", false));
... ... @@ -112,11 +117,11 @@ public class JxtFragment extends BaseFragment {
}
@Override
public void onPageSelected(int i) {
if(i==7&&Config.IDENTITY==0){
jiaImgButton.setVisibility(View.GONE);
}else{
jiaImgButton.setVisibility(View.VISIBLE);
}
// if(i==7&&Config.IDENTITY==0){
// jiaImgButton.setVisibility(View.GONE);
// }else{
// jiaImgButton.setVisibility(View.VISIBLE);
// }
}
@Override
public void onPageScrollStateChanged(int i) {
... ...
... ... @@ -45,6 +45,7 @@ import com.yinhebairong.clasmanage.ui.xspj.activity.DpdrActivity;
import com.yinhebairong.clasmanage.ui.xspj.activity.TjxzActivity;
import com.yinhebairong.clasmanage.utils.SharedPreferenceUtil;
import com.yinhebairong.clasmanage.widget.CircleImageView;
import com.yinhebairong.clasmanage.widget.DpdrGridManager;
import java.util.ArrayList;
import java.util.List;
... ... @@ -104,8 +105,10 @@ public class StuEvaFragment extends BaseFragment {
String bjId;
List<PjxEntity.DataBean> popDate = new ArrayList<>();
private DpdrGridManager gridManager1;
private DpdrGridManager gridManager2;
int mr_xb = 1;
@SuppressLint("NewApi")
@Override
protected void initView(View root) {
... ... @@ -134,13 +137,14 @@ public class StuEvaFragment extends BaseFragment {
recycler = root.findViewById(R.id.recycler);
rv_gro = root.findViewById(R.id.rv_group);
lineS = root.findViewById(R.id.lineS);
setRv(recycler, 0, 0, 4);
setRv(rv_gro, 1, 0, 1);
gridManager1 = new DpdrGridManager(getActivity(), 4);
gridManager2 = new DpdrGridManager(getActivity(), 1);
recycler.setLayoutManager(gridManager1);
rv_gro.setLayoutManager(gridManager2);
recycler.setNestedScrollingEnabled(false);
rv_gro.setNestedScrollingEnabled(false);
recycler.setItemViewCacheSize(100);
rv_gro.setItemViewCacheSize(100);
stuAdapter = new StuEva_stuAdapter(R.layout.item_stu_eva, arr1, getActivity());
stuAdapter.setEmptyView(LayoutInflater.from(getActivity()).inflate(R.layout.empty_layout, null));
recycler.setAdapter(stuAdapter);
... ... @@ -152,7 +156,7 @@ public class StuEvaFragment extends BaseFragment {
// 个人
if (stuAdapter != null) {
stuAdapter.setOnItemChildClickListener((adapter, view, position) -> {
showPer(position, 0,view,stuAdapter.getData().get(position));
showPer(position, 0, view, stuAdapter.getData().get(position));
stuId = student.get(position).getId();
});
}
... ... @@ -163,7 +167,7 @@ public class StuEvaFragment extends BaseFragment {
groupAdapter.setOnItemChildClickListener((adapter, view, position) -> {
switch (view.getId()) {
case R.id.item_goup_linear:
showPer(position, 1,view,groupAdapter.getData().get(position));
showPer(position, 1, view, groupAdapter.getData().get(position));
stuId = group.get(position).getId();
break;
}
... ... @@ -332,8 +336,8 @@ public class StuEvaFragment extends BaseFragment {
} else {
M.toast(getActivity(), "无点评记录");
}
}else {
if (getRevokeEntity.getData()==null){
} else {
if (getRevokeEntity.getData() == null) {
M.toast(getActivity(), "无点评记录");
}
}
... ... @@ -342,42 +346,42 @@ public class StuEvaFragment extends BaseFragment {
@Override
public void onError(Throwable e) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
}else {
M.toast(getActivity(), "登录失败");
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
} else {
M.toast(getActivity(), "登录失败");
}
}
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
@Override
... ... @@ -418,40 +422,40 @@ public class StuEvaFragment extends BaseFragment {
@Override
public void onError(Throwable e) {
M.log("ThrowableError", e.getMessage().toString());
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
}else {
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
} else {
}
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onComplete() {
@Override
public void onComplete() {
}
});
}
});
}
@Override
... ... @@ -502,7 +506,7 @@ public class StuEvaFragment extends BaseFragment {
* @param pos // 个人|小组 下标
* @param state // 用来分小组还是个人 0 - > 个人 | 1 - > 小组
*/
private void showPer(int pos, int state,View myview,StuEvaListEntity.DataBean.StudentBean item) {
private void showPer(int pos, int state, View myview, StuEvaListEntity.DataBean.StudentBean item) {
View inflate = LayoutInflater.from(getActivity()).inflate(R.layout.pop_dianpin, null);
TextView name = inflate.findViewById(R.id.pop_dianpin_name); // 名称
RecyclerView rv = inflate.findViewById(R.id.pop_dianpin_rv); // tab 部分 rv
... ... @@ -520,7 +524,7 @@ public class StuEvaFragment extends BaseFragment {
setRv(ct_rv, 1, 0, 1);
rv.setNestedScrollingEnabled(false);
ct_rv.setNestedScrollingEnabled(false);
popData(mr_xb, ct_rv, state, pop,myview,item); // 初始数据 -- 现在默认日常位置
popData(mr_xb, ct_rv, state, pop, myview, item); // 初始数据 -- 现在默认日常位置
// lv
ViewTreeObserver viewTreeObserver = rv.getViewTreeObserver();
viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
... ... @@ -537,7 +541,7 @@ public class StuEvaFragment extends BaseFragment {
case R.id.item_a_txt:
mr_xb = position;// 点击
tb.change(popDate.get(position).getName()); // 初始下划线
popData(mr_xb, ct_rv, state, pop,myview,item); // 数据
popData(mr_xb, ct_rv, state, pop, myview, item); // 数据
break;
}
});
... ... @@ -571,7 +575,8 @@ public class StuEvaFragment extends BaseFragment {
});
}
}
private void showPer(int pos, int state,View myview,StuEvaListEntity.DataBean.GroupBean item) {
private void showPer(int pos, int state, View myview, StuEvaListEntity.DataBean.GroupBean item) {
View inflate = LayoutInflater.from(getActivity()).inflate(R.layout.pop_dianpin, null);
TextView name = inflate.findViewById(R.id.pop_dianpin_name); // 名称
RecyclerView rv = inflate.findViewById(R.id.pop_dianpin_rv); // tab 部分 rv
... ... @@ -589,7 +594,7 @@ public class StuEvaFragment extends BaseFragment {
setRv(ct_rv, 1, 0, 1);
rv.setNestedScrollingEnabled(false);
ct_rv.setNestedScrollingEnabled(false);
popData(mr_xb, ct_rv, state, pop,myview,item); // 初始数据 -- 现在默认日常位置
popData(mr_xb, ct_rv, state, pop, myview, item); // 初始数据 -- 现在默认日常位置
// lv
ViewTreeObserver viewTreeObserver = rv.getViewTreeObserver();
viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
... ... @@ -606,7 +611,7 @@ public class StuEvaFragment extends BaseFragment {
case R.id.item_a_txt:
mr_xb = position;// 点击
tb.change(popDate.get(position).getName()); // 初始下划线
popData(position, ct_rv, state, pop,myview,item); // 数据
popData(position, ct_rv, state, pop, myview, item); // 数据
break;
}
});
... ... @@ -640,6 +645,7 @@ public class StuEvaFragment extends BaseFragment {
});
}
}
private void showPer(int pos, int state) {
View inflate = LayoutInflater.from(getActivity()).inflate(R.layout.pop_dianpin, null);
TextView name = inflate.findViewById(R.id.pop_dianpin_name); // 名称
... ... @@ -709,6 +715,7 @@ public class StuEvaFragment extends BaseFragment {
});
}
}
// 数据
private void popData(int page, RecyclerView ct_rv, int state, PopupWindow pop) {
List<PjxEntity.DataBean.ListBean> list = popDate.get(page).getList();
... ... @@ -721,28 +728,33 @@ public class StuEvaFragment extends BaseFragment {
});
}
private void popData(int page, RecyclerView ct_rv, int state, PopupWindow pop,View myView,StuEvaListEntity.DataBean.StudentBean item) {
private void popData(int page, RecyclerView ct_rv, int state, PopupWindow pop, View myView, StuEvaListEntity.DataBean.StudentBean item) {
List<PjxEntity.DataBean.ListBean> list = popDate.get(page).getList();
M.log("PjxEntity", list.toString());
PopGoupAdapter popGoupAdapter = new PopGoupAdapter(R.layout.item_b, list, state, pop,myView,item);
PopGoupAdapter popGoupAdapter = new PopGoupAdapter(R.layout.item_b, list, state, pop, myView, item);
ct_rv.setAdapter(popGoupAdapter);
// goup item click
popGoupAdapter.setOnItemChildClickListener((adapter1, view, position) -> {
});
}
private void popData(int page, RecyclerView ct_rv, int state, PopupWindow pop,View myView,StuEvaListEntity.DataBean.GroupBean item) {
private void popData(int page, RecyclerView ct_rv, int state, PopupWindow pop, View myView, StuEvaListEntity.DataBean.GroupBean item) {
List<PjxEntity.DataBean.ListBean> list = popDate.get(page).getList();
M.log("PjxEntity", list.toString());
PopGoupAdapter popGoupAdapter = new PopGoupAdapter(R.layout.item_b, list, state, pop,myView,item);
PopGoupAdapter popGoupAdapter = new PopGoupAdapter(R.layout.item_b, list, state, pop, myView, item);
ct_rv.setAdapter(popGoupAdapter);
// goup item click
popGoupAdapter.setOnItemChildClickListener((adapter1, view, position) -> {
});
}
TextView my_text;
// 点评个人 - > 点评时状态
private void comper(int id, int level, int state, PopupWindow pop, String score,View myview,StuEvaListEntity.DataBean.StudentBean item) { // id 是点评 id
private void comper(int id, int level, int state, PopupWindow pop, String score, View myview, StuEvaListEntity.DataBean.StudentBean item) { // id 是点评 id
switch (state) {
case 0:
Api().quest(Config.Token, bjId, id, level, stuId + "").subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<BaseBean>() {
... ... @@ -755,51 +767,15 @@ public class StuEvaFragment extends BaseFragment {
public void onNext(BaseBean baseBean) {
if (baseBean.getCode() == M.success) {
M.toast(getActivity(), "个人点评成功");
TextView my_text = myview.findViewById(R.id.my_text);
my_text = myview.findViewById(R.id.my_text);
my_text.setText(score);
setHideAnimation(my_text,2000,item);
setHideAnimation(my_text, 1000, item);
pop.dismiss();
}
}
@Override
public void onError(Throwable e) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
}else {
M.toast(getActivity(), "登录失败");
}
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onComplete() {
}
});
}
@Override
... ... @@ -811,14 +787,15 @@ public class StuEvaFragment extends BaseFragment {
}
}
// 点评个人 - > 点评时状态
private void comper(int id, int level, int state, PopupWindow pop, String score,View myview,StuEvaListEntity.DataBean.GroupBean item) { // id 是点评 id
private void comper(int id, int level, int state, PopupWindow pop, String score, View myview, StuEvaListEntity.DataBean.GroupBean item) { // id 是点评 id
switch (state) {
case 1:
TextView my_text = myview.findViewById(R.id.my_text);
my_text.setVisibility(View.VISIBLE);
my_text.setText(score);
setHideAnimation(my_text,2000,item);
setHideAnimation(my_text, 1000, item);
M.toast(getActivity(), "小组点评成功");
Api().dp_goup(Config.Token, bjId, id, level, stuId).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<BaseBean>() {
@Override
... ... @@ -834,42 +811,6 @@ public class StuEvaFragment extends BaseFragment {
@Override
public void onError(Throwable e) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
}else {
M.toast(getActivity(), "登录失败");
}
}
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
@Override
public void onComplete() {
}
});
}
@Override
... ... @@ -881,6 +822,7 @@ public class StuEvaFragment extends BaseFragment {
}
}
// ---------------------------------------------------------- 数据 ---------------------------------------------------------------------------
// 班级下拉列表
private void dropBj() {
... ... @@ -889,13 +831,14 @@ public class StuEvaFragment extends BaseFragment {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(BjListEntity bjListEntity) {
if (bjListEntity.getCode() == M.success) {
List<BjListEntity.DataBean> list = bjListEntity.getData();
bjList.addAll(list);
for (int i = 0; i < bjList.size(); i++) {
if (Config.ClassId .equals(""+bjList.get(i).getClass_id()) ) {
if (Config.ClassId.equals("" + bjList.get(i).getClass_id())) {
xiala.setText(bjList.get(i).getClass_name() + "");
Config.ClassId = bjList.get(i).getClass_id();
bancun = i;
... ... @@ -945,42 +888,42 @@ public class StuEvaFragment extends BaseFragment {
@Override
public void onError(Throwable e) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
String json = (String) SharedPreferenceUtil.get(getActivity(), "UserBody", "");
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), "{\"params\":" + json + "}");
LoginStore.createApi(ApiService.class)
.loginInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<LoginEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
}else {
M.toast(getActivity(), "登录失败");
}
}
@Override
public void onNext(LoginEntity entity) {
if (entity.getCode() == 1000) {
Config.Token = entity.getData().getToken();
Config.ClassId = entity.getData().getUser().getClassId();
SharedPreferenceUtil.put(getActivity(), M.Token, entity.getData().getToken() + "");
SharedPreferenceUtil.put(getActivity(), M.ClassId, entity.getData().getUser().getClassId() + "");
SharedPreferenceUtil.put(getActivity(), M.UserBody, json + "");
} else {
M.toast(getActivity(), "登录失败");
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
}
@Override
public void onComplete() {
@Override
public void onError(Throwable e) {
Log.e("onError", e.getMessage().trim());
}
}
});
@Override
public void onComplete() {
}
});
}
@Override
... ... @@ -1017,6 +960,18 @@ public class StuEvaFragment extends BaseFragment {
}
stuAdapter.notifyDataSetChanged();
groupAdapter.notifyDataSetChanged();
stuAdapter.setOnItemChildClickListener((adapter, view, position) -> {
showPer(position, 0, view, stuAdapter.getData().get(position));
stuId = student.get(position).getId();
});
groupAdapter.setOnItemChildClickListener((adapter, view, position) -> {
switch (view.getId()) {
case R.id.item_goup_linear:
showPer(position, 1, view, groupAdapter.getData().get(position));
stuId = group.get(position).getId();
break;
}
});
}
}
... ... @@ -1037,9 +992,11 @@ public class StuEvaFragment extends BaseFragment {
String id;
int xuan = getResources().getColor(R.color.color_ffab13);
int no_xuan = getResources().getColor(R.color.color_3d444d);
public DropBjAdapter(int layoutResId, @Nullable List<BjListEntity.DataBean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, BjListEntity.DataBean item) {
helper.setText(R.id.item_xiala_value, item.getClass_name())
... ... @@ -1106,25 +1063,29 @@ public class StuEvaFragment extends BaseFragment {
View myView;
StuEvaListEntity.DataBean.StudentBean myItem;
StuEvaListEntity.DataBean.GroupBean groupBean;
public PopGoupAdapter(int layoutResId, @Nullable List<PjxEntity.DataBean.ListBean> data, int state, PopupWindow pop,View view,StuEvaListEntity.DataBean.StudentBean item) {
public PopGoupAdapter(int layoutResId, @Nullable List<PjxEntity.DataBean.ListBean> data, int state, PopupWindow pop, View view, StuEvaListEntity.DataBean.StudentBean item) {
super(layoutResId, data);
this.state = state;
this.pop = pop;
myView = view;
myItem = item;
}
public PopGoupAdapter(int layoutResId, @Nullable List<PjxEntity.DataBean.ListBean> data, int state, PopupWindow pop,View view,StuEvaListEntity.DataBean.GroupBean item) {
public PopGoupAdapter(int layoutResId, @Nullable List<PjxEntity.DataBean.ListBean> data, int state, PopupWindow pop, View view, StuEvaListEntity.DataBean.GroupBean item) {
super(layoutResId, data);
this.state = state;
this.pop = pop;
myView = view;
groupBean = item;
}
public PopGoupAdapter(int layoutResId, @Nullable List<PjxEntity.DataBean.ListBean> data, int state, PopupWindow pop) {
super(layoutResId, data);
this.state = state;
this.pop = pop;
}
@Override
protected void convert(BaseViewHolder helper, PjxEntity.DataBean.ListBean item) {
M.Glide(item.getIcon(), helper.getView(R.id.item_b_img), getActivity());
... ... @@ -1138,10 +1099,10 @@ public class StuEvaFragment extends BaseFragment {
popChildAdapter.setOnItemChildClickListener((adapter, view, position) -> {
switch (view.getId()) {
case R.id.item_c_linear: // child
if (groupBean!=null){
comper(item.getItem().get(position).getId(), item.getItem().get(position).getIs_level(), state, pop, item.getItem().get(position).getScore() + "",myView,groupBean);
}else {
comper(item.getItem().get(position).getId(), item.getItem().get(position).getIs_level(), state, pop, item.getItem().get(position).getScore() + "",myView,myItem);
if (groupBean != null) {
comper(item.getItem().get(position).getId(), item.getItem().get(position).getIs_level(), state, pop, item.getItem().get(position).getScore() + "", myView, groupBean);
} else {
comper(item.getItem().get(position).getId(), item.getItem().get(position).getIs_level(), state, pop, item.getItem().get(position).getScore() + "", myView, myItem);
}
pop.dismiss();
break;
... ... @@ -1180,10 +1141,9 @@ public class StuEvaFragment extends BaseFragment {
}
}
}
public void setHideAnimation( final View view, int duration,StuEvaListEntity.DataBean.StudentBean item)
{
if (null == view || duration < 0)
{
public void setHideAnimation(final View view, int duration, StuEvaListEntity.DataBean.StudentBean item) {
if (null == view || duration < 0) {
return;
}
item.setSel(true);
... ... @@ -1193,36 +1153,38 @@ public class StuEvaFragment extends BaseFragment {
AlphaAnimation mHideAnimation = new AlphaAnimation(1.0f, 0.0f);
mHideAnimation.setDuration(duration);
mHideAnimation.setFillAfter(true);
mHideAnimation.setAnimationListener(new Animation.AnimationListener()
{
mHideAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation arg0)
{
public void onAnimationStart(Animation arg0) {
gridManager1.setScroll(false);
stuAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
}
});
}
@Override
public void onAnimationRepeat(Animation arg0)
{
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0)
{
public void onAnimationEnd(Animation arg0) {
item.setSel(false);
view.setAlpha(0);
view.setVisibility(View.GONE);
listpage();
gridManager1.setScroll(true);
}
});
view.startAnimation(mHideAnimation);
}
public void setHideAnimation( final View view, int duration,StuEvaListEntity.DataBean.GroupBean item)
{
if (null == view || duration < 0)
{
public void setHideAnimation(final View view, int duration, StuEvaListEntity.DataBean.GroupBean item) {
if (null == view || duration < 0) {
return;
}
item.setSel(true);
... ... @@ -1232,27 +1194,30 @@ public class StuEvaFragment extends BaseFragment {
AlphaAnimation mHideAnimation = new AlphaAnimation(1.0f, 0.0f);
mHideAnimation.setDuration(duration);
mHideAnimation.setFillAfter(true);
mHideAnimation.setAnimationListener(new Animation.AnimationListener()
{
mHideAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation arg0)
{
public void onAnimationStart(Animation arg0) {
gridManager2.setScroll(false);
groupAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
}
});
}
@Override
public void onAnimationRepeat(Animation arg0)
{
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0)
{
public void onAnimationEnd(Animation arg0) {
item.setSel(false);
view.setAlpha(0);
view.setVisibility(View.GONE);
gridManager2.setScroll(true);
listpage();
}
});
... ...
... ... @@ -2,6 +2,7 @@ package com.yinhebairong.clasmanage.ui.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Rect;
... ... @@ -13,6 +14,7 @@ import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
... ... @@ -81,6 +83,7 @@ public class StuEvaFragment_per extends BaseFragment {
TextView tb;
View line1;
TextView sj;
@BindView(R.id.include_name)
TextView include_name;
View line2;
... ... @@ -164,7 +167,6 @@ public class StuEvaFragment_per extends BaseFragment {
TextView number;
@Override
protected void initView(View root) {
}
/* 项目数据实例化 */
... ... @@ -189,10 +191,10 @@ public class StuEvaFragment_per extends BaseFragment {
@Override
protected void lazyLoad() {
include_name.setText("我的孩子");
cirTx = getActivity().findViewById(R.id.cir_tx);
includeBack = getActivity().findViewById(R.id.include_back);
include_name = getActivity().findViewById(R.id.include_name);
include_name.setText("我的孩子");
includeBack.setVisibility(View.INVISIBLE);
name = getActivity().findViewById(R.id.name);
tb = getActivity().findViewById(R.id.pjfx_per_tb);
line1 = getActivity().findViewById(R.id.line1);
... ... @@ -209,20 +211,17 @@ public class StuEvaFragment_per extends BaseFragment {
tb_b = getActivity().findViewById(R.id.pjfx_per_tb_b);
sj_title = getActivity().findViewById(R.id.pjfx_sj_title);
sj_score = getActivity().findViewById(R.id.pjfx_sj_score);
montchos = getActivity().getResources().getDrawable(R.drawable.shape_solid_22_ffab13);
montchos_no = getActivity().getResources().getDrawable(R.drawable.shape_solid_22_ebeb);
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
monthx = calendar.get(Calendar.MONTH) + 1;
// ----------------------------------------------- main -----------------------------------------------------
yes = getResources().getColor(R.color.color_fff);
no = getResources().getColor(R.color.color_f9f9f9);
select_no = getResources().getColor(R.color.color_232323);
select = getResources().getColor(R.color.color_ffab13);
RequestOptions requestOptions = new RequestOptions();
Glide.with(getActivity()).load(Config.StudentPhoto).apply(requestOptions).into(cirTx);
choose = getActivity().getResources().getDrawable(R.drawable.shape_solid_16_ffab13);
nochoose = getActivity().getResources().getDrawable(R.drawable.shape_solid_16_f9);
listArr.add("周");
... ... @@ -230,7 +229,6 @@ public class StuEvaFragment_per extends BaseFragment {
listArr.add("学期");
listArr.add("学年");
date(); // 日期筛选弹窗数据
includeBack.setVisibility(View.INVISIBLE);
zt_screen(); // 项目筛选弹窗数据
String Student_level = (String) SharedPreferenceUtil.get(getActivity(), M.SCORE_LEVEL, "");
String Student_Level_Color = (String) SharedPreferenceUtil.get(getActivity(), M.SCORE_LEVEL_COLOR, "");
... ... @@ -347,6 +345,14 @@ public class StuEvaFragment_per extends BaseFragment {
barChartManager = new BarChartManager(chart);
}
@Override
public void onResume() {
super.onResume();
if (cirTx!=null){
RequestOptions requestOptions = new RequestOptions();
Glide.with(getActivity()).load(Config.StudentPhoto).apply(requestOptions).into(cirTx);
}
}
// Linechar click show popwindow
private void charListenerPop(float x, float y,Entry entry ,int type) {
... ... @@ -498,7 +504,14 @@ public class StuEvaFragment_per extends BaseFragment {
}
// ----------------------------------------------- main ------------------------------------------------------
public static int getNavigationBarHeight(Context context){
int result = 0;
int resourceId = context.getResources().getIdentifier("navigation_bar_height","dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
// 表现图标弹窗
private void Bxpop() {
View view = LayoutInflater.from(getActivity()).inflate(R.layout.pop_xiangmu, null);
... ... @@ -508,12 +521,24 @@ public class StuEvaFragment_per extends BaseFragment {
PopupWindow pop = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
// Limit popwindow size
// Limit popwindow size
if (Build.VERSION.SDK_INT >= 24) {
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int height = view.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom - linear_pop.getBottom() - getStatusBarHeight();
pop.setHeight(height);
M.log("getDisplayMetrics", view.getResources().getDisplayMetrics().heightPixels + "---" + visibleFrame.bottom + "---" + linear_pop.getBottom());
if (Build.MANUFACTURER.equals("Xiaomi")){
DisplayMetrics metrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
height += getNavigationBarHeight( getActivity());
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int popheight =height - visibleFrame.bottom - linear_pop.getBottom() - getNavigationBarHeight( getActivity());
pop.setHeight(popheight);
}else {
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int height = view.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom - linear_pop.getBottom() - getNavigationBarHeight( getActivity());
pop.setHeight(height);
M.log("getDisplayMetrics", view.getResources().getDisplayMetrics().heightPixels + "---" + visibleFrame.bottom + "---" + linear_pop.getBottom()+"---"+getNavigationBarHeight( getActivity()));
}
}
pop.setOutsideTouchable(true);
pop.setTouchable(true);
... ... @@ -607,7 +632,7 @@ public class StuEvaFragment_per extends BaseFragment {
// 周
dropRv = dropview.findViewById(R.id.time_choose_rv);
setRv(dropRv, 0, 0, 3);
setDate(); // 初始化
setDate(); // 初始化
// 学年
WheelItemView wheel3 = dropview.findViewById(R.id.wheelitem3);
... ... @@ -1005,13 +1030,13 @@ public class StuEvaFragment_per extends BaseFragment {
List<DateEntity.DataBean.YearBean> year = data.getData().getYear();
for (int i = 0; i < week.size(); i++) {
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
if (week.get(i).getChecked() == 1) { // 默认选中的值
level.setKey(1);
level.setValue(i);
per_value.setText("第" + (i + 1) + "周"); // 默认当前周
requestValue = (i + 1) + ""; // 这个默认值 , 不然右边评价项弹窗 , 点击无效 , 因为无周期值
}
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getChecked()));
if (week.get(i).getChecked() == 1) { // 默认选中的值
level.setKey(1);
level.setValue(i);
per_value.setText("第" + (i + 1) + "周"); // 默认当前周
requestValue = (i + 1) + ""; // 这个默认值 , 不然右边评价项弹窗 , 点击无效 , 因为无周期值
}
if (i == week.size() - 1) {
arr.add(list);
}
... ... @@ -1069,7 +1094,7 @@ public class StuEvaFragment_per extends BaseFragment {
List<DateEntity.DataBean.YearBean> year = data.getData().getYear();
for (int i = 0; i < week.size(); i++) {
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getValue() == level.getValue() ? 1 : 0));
list.add(new DateLevel(week.get(i).getValue(), week.get(i).getName() + "", week.get(i).getValue() == level.getValue() ? 1 : 0));
if (week.get(i).getChecked() == 1) { // 默认选中的值
level.setKey(1);
level.setValue(i);
... ... @@ -1143,7 +1168,7 @@ public class StuEvaFragment_per extends BaseFragment {
}
}
// 一级 - > 二级 - > 三级 (这里页面跳转有两种 , 不懂可以问一下产品)
tb_data(requestId,Config.id, level.getKey() + "", requestValue); // 进来一个默认值先
tb_data(requestId,Config.id, level.getKey() + "", requestValue); // 进来一个默认值先
} else if (data.getCode() == 401) {
ApiError.refreshToken();
}
... ... @@ -1489,31 +1514,15 @@ public class StuEvaFragment_per extends BaseFragment {
colours.add(colorsTwo[0]);
colours.add(colorsTwo[1]);
ArrayList<Float> xValues = new ArrayList<>();
for (int i = 0; i < detail.getXaxis().size(); i++) {
for (int i = 1; i < detail.getXaxis().size(); i++) {
xValues.add((float) i);
}
//线的名字集合
List<String> names = new ArrayList<>();
names.add("学生得分");
names.add("班级平均分");
barChartManager.ShowBart(xValues,student,classX,names,colours);
barChartManager.ShowBart(detail.getXaxis(),xValues,student,classX,names,colours);
barChartManager.setYAxis(detail.getYaxis().get(0), detail.getYaxis().get(detail.getYaxis().size() - 1), detail.getYaxis().size());
ValueFormatter Barformatter = new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
//设置 xAxis.setGranularity(1);后 value是从0开始的,每次加1,
int v = (int) value;
if (v < detail.getXaxis().size() && v >= 0) {
String st = detail.getXaxis().get(v);
String tim1 = "";
tim1 = st;
return tim1;
} else {
return null;
}
}
};
chart.getXAxis().setValueFormatter(Barformatter);
} else if (data.getCode() == 401) {
ApiError.refreshToken();
}
... ...
... ... @@ -579,7 +579,7 @@ public class Fbzy_Activity extends BaseActivity {
classRv.setLayoutManager(new LinearLayoutManager(Fbzy_Activity.this,0,false));
classRv.setAdapter(classAdapter);
}
classType.setText("修改班级");
classType.setText("");
} else if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
ArrayList<String> Imags = data.getStringArrayListExtra(ImageSelector.SELECT_RESULT);
for (int i = 0; i <Imags.size() ; i++) {
... ...
... ... @@ -67,6 +67,8 @@ import com.yinhebairong.clasmanage.entity.getTaskEvaluateOptionEntity;
import com.yinhebairong.clasmanage.entity.setTaskEvaluateEntity;
import com.yinhebairong.clasmanage.m.M;
import com.yinhebairong.clasmanage.network.ApiService;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.FbtzA_ctivity;
import com.yinhebairong.clasmanage.ui.jxt.activity.TZ.TzxqActivity;
import com.yinhebairong.clasmanage.ui.jxt.fragment.zy.Zy_Rv_Wck_Fragment;
import com.yinhebairong.clasmanage.ui.jxt.fragment.zy.Zy_Rv_ck_Fragment;
import com.yinhebairong.clasmanage.utils.AudioUtils;
... ... @@ -500,52 +502,7 @@ public class Zyxq_Activity extends BaseActivity {
tvJlxqSc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BottomMenu.show(Zyxq_Activity.this, new String[]{"转发", "撤回"}, new OnMenuItemClickListener() {
@Override
public void onClick(String text, int index) {
//返回参数 text 即菜单名称,index 即菜单索引
switch (index){
case 0 :
Intent intent = new Intent();
intent.setClass(Zyxq_Activity.this, Fbzy_Activity.class);
Gson gson = new Gson();
String Tzjson = gson.toJson(myJxtEntity);
intent.putExtra("zhuanfa",Tzjson);
startActivity(intent);
break;
case 1 :
Api().delTask(Config.Token,zyId)
.subscribeOn(Schedulers.io())
//需要在主线程更新UI
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<FbtzEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(FbtzEntity fbtzEntity) {
if (fbtzEntity.getCode()==M.success){
Toast.makeText(Zyxq_Activity.this, "撤回成功", Toast.LENGTH_SHORT).show();
finish();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
break;
}
}
});
optionPop();
}
});
includeBack.setOnClickListener(new View.OnClickListener() {
... ... @@ -577,7 +534,69 @@ public class Zyxq_Activity extends BaseActivity {
}
});
}
private void optionPop() {
View view = LayoutInflater.from(Zyxq_Activity.this).inflate(R.layout.popup_tzxq, null);
// 弹窗
tydpPopupwindow = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
tydpPopupwindow.setOutsideTouchable(true);
tydpPopupwindow.setTouchable(true);
tydpPopupwindow.setFocusable(true);
tydpPopupwindow.setBackgroundDrawable(getResources().getDrawable(R.color.color_tm));
tydpPopupwindow.showAtLocation(view, Gravity.BOTTOM, 0, M.getNavigationBarHeight(this));
view.findViewById(R.id.tv_cancal).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tydpPopupwindow.dismiss();
}
});
view.findViewById(R.id.tv_chehui).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Api().delTask(Config.Token,zyId)
.subscribeOn(Schedulers.io())
//需要在主线程更新UI
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<FbtzEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(FbtzEntity fbtzEntity) {
if (fbtzEntity.getCode()==M.success){
Toast.makeText(Zyxq_Activity.this, "撤回成功", Toast.LENGTH_SHORT).show();
finish();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
tydpPopupwindow.dismiss();
}
});
view.findViewById(R.id.tv_zhuanfa).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(Zyxq_Activity.this, Fbzy_Activity.class);
Gson gson = new Gson();
String Tzjson = gson.toJson(myJxtEntity);
intent.putExtra("zhuanfa",Tzjson);
startActivity(intent);
tydpPopupwindow.dismiss();
}
});
}
public class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
... ... @@ -668,6 +687,9 @@ public class Zyxq_Activity extends BaseActivity {
RecyclerView voiced_rv = view.findViewById(R.id.voiced_rv);
voiced_rv.setLayoutManager(new LinearLayoutManager(Zyxq_Activity.this));
voiced_rv.setAdapter(myaudio);
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 0.7f;
activity.getWindow().setAttributes(lp);
if (voiced_rv.getAdapter()!=null){
myaudio.notifyDataSetChanged();
}
... ... @@ -704,6 +726,8 @@ public class Zyxq_Activity extends BaseActivity {
tydpPopupwindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 1f;
contentStr = edit_content.getText().toString();
}
});
... ... @@ -769,6 +793,9 @@ public class Zyxq_Activity extends BaseActivity {
RecyclerView voiced_rv = view.findViewById(R.id.voiced_rv);
voiced_rv.setLayoutManager(new LinearLayoutManager(Zyxq_Activity.this));
voiced_rv.setAdapter(myaudio);
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 0.7f;
activity.getWindow().setAttributes(lp);
if (voiced_rv.getAdapter()!=null){
myaudio.notifyDataSetChanged();
}
... ... @@ -805,6 +832,9 @@ public class Zyxq_Activity extends BaseActivity {
tydpPopupwindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
lp.alpha = 1f;
activity.getWindow().setAttributes(lp);
contentStr = edit_content.getText().toString();
}
});
... ...
... ... @@ -26,6 +26,7 @@ import com.yinhebairong.clasmanage.utils.CalendarStringtUtil;
import com.yinhebairong.clasmanage.view.DebugLog;
import com.yinhebairong.clasmanage.view.pickerwheelview.builder.TimePickerBuilder;
import com.yinhebairong.clasmanage.view.pickerwheelview.listener.OnTimeSelectListener;
import com.yinhebairong.clasmanage.view.pickerwheelview.utils.MyDataFormatUtil;
import com.yinhebairong.clasmanage.view.pickerwheelview.view.TimePickerView;
import java.text.SimpleDateFormat;
... ... @@ -46,7 +47,8 @@ import io.reactivex.schedulers.Schedulers;
@Layout(R.layout.fragment_qj_rv)
public class ZY_Rv_Fragment extends BaseFragment {
@BindView(R.id.tv_week)
TextView tv_week;
@BindView(R.id.jxt_matter_li)
LinearLayout jxtMatterLi;
@BindView(R.id.data_rv)
... ... @@ -70,11 +72,12 @@ public class ZY_Rv_Fragment extends BaseFragment {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
tv_time.setText(dateString);
tv_week.setText(MyDataFormatUtil.dateToWeek(dateString));
mTimePicker3 = new TimePickerBuilder(getActivity(), new OnTimeSelectListener() {
@Override
public void onTimeSelect(String date, View v) {
tv_time.setText(date);
tv_week.setText(MyDataFormatUtil.dateToWeek(date));
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
String dateString = simpleDateFormat.format(calendar.getTime());
... ... @@ -117,18 +120,18 @@ public class ZY_Rv_Fragment extends BaseFragment {
if (Config.IDENTITY == 0) {//老师
if (dateString.equals(tv_time.getText().toString())) {//今天
this.page = page;
getDate(2, "",page);
getDate(1, "",page);
} else {
this.page = page;
getDate(2, tv_time.getText().toString(),page);
getDate(1, tv_time.getText().toString(),page);
}
} else {
if (dateString.equals(tv_time.getText().toString())) {//今天
this.page = page;
getParentDate(2, "",page);
getParentDate(1, "",page);
} else {
this.page = page;
getParentDate(2, tv_time.getText().toString(),page);
getParentDate(1, tv_time.getText().toString(),page);
}
}
}
... ... @@ -193,7 +196,7 @@ public class ZY_Rv_Fragment extends BaseFragment {
} else {
PageNum++;
isLoneMore = true;
getParentDate(0, tv_time.getText().toString(), PageNum);
getParentDate(1, tv_time.getText().toString(), PageNum);
}
}
... ... @@ -300,7 +303,7 @@ public class ZY_Rv_Fragment extends BaseFragment {
} else {
PageNum++;
isLoneMore = true;
getDate(0, tv_time.getText().toString(), PageNum);
getDate(1, tv_time.getText().toString(), PageNum);
}
}
... ...
package com.yinhebairong.clasmanage.ui.xspj;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Rect;
... ... @@ -11,6 +12,7 @@ import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
... ... @@ -491,7 +493,14 @@ public class PjfxActivity_per extends BaseActivity {
}
// ----------------------------------------------- main ------------------------------------------------------
public static int getNavigationBarHeight(Context context){
int result = 0;
int resourceId = context.getResources().getIdentifier("navigation_bar_height","dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
// 表现图标弹窗
private void Bxpop() {
View view = LayoutInflater.from(PjfxActivity_per.this).inflate(R.layout.pop_xiangmu, null);
... ... @@ -502,11 +511,22 @@ public class PjfxActivity_per extends BaseActivity {
PopupWindow pop = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
// Limit popwindow size
if (Build.VERSION.SDK_INT >= 24) {
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int height = view.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom - linear_pop.getBottom() - getStatusBarHeight();
pop.setHeight(height);
M.log("getDisplayMetrics", view.getResources().getDisplayMetrics().heightPixels + "---" + visibleFrame.bottom + "---" + linear_pop.getBottom());
if (Build.MANUFACTURER.equals("Xiaomi")){
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
height += getNavigationBarHeight( this);
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int popheight =height - visibleFrame.bottom - linear_pop.getBottom() - getNavigationBarHeight( this);
pop.setHeight(popheight);
}else {
Rect visibleFrame = new Rect();
view.getGlobalVisibleRect(visibleFrame);
int height = view.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom - linear_pop.getBottom() - getNavigationBarHeight(this);
pop.setHeight(height);
M.log("getDisplayMetrics", view.getResources().getDisplayMetrics().heightPixels + "---" + visibleFrame.bottom + "---" + linear_pop.getBottom()+"---"+getNavigationBarHeight( this));
}
}
pop.setOutsideTouchable(true);
pop.setTouchable(true);
... ... @@ -1537,24 +1557,8 @@ public class PjfxActivity_per extends BaseActivity {
List<String> names = new ArrayList<>();
names.add("学生得分");
names.add("班级平均得分");
barChartManager.ShowBart(xValues, detail.getStudent(), detail.getClassX(), names, colours);
barChartManager.ShowBart(detail.getXaxis(),xValues, detail.getStudent(), detail.getClassX(), names, colours);
barChartManager.setYAxis(detail.getYaxis().get(0), detail.getYaxis().get(detail.getYaxis().size() - 1), detail.getYaxis().size());
ValueFormatter Barformatter = new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
//设置 xAxis.setGranularity(1);后 value是从0开始的,每次加1,
int v = (int) value;
if (v < detail.getXaxis().size() && v >= 0) {
String st = detail.getXaxis().get(v);
String tim1 = "";
tim1 = st;
return tim1;
} else {
return null;
}
}
};
chart.getXAxis().setValueFormatter(Barformatter);
} else if (data.getCode() == 401) {
ApiError.refreshToken();
}
... ...
... ... @@ -21,6 +21,7 @@ import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.kongzue.dialog.v3.WaitDialog;
import com.yinhebairong.clasmanage.Config;
import com.yinhebairong.clasmanage.R;
import com.yinhebairong.clasmanage.base.BaseActivity;
... ... @@ -101,7 +102,7 @@ public class DpdrActivity extends BaseActivity {
dpdrSure.setClickable(false);
data(); // 数据
pjx(); // 弹窗数据
dpdrRv.setItemViewCacheSize(100);
gridManager = new DpdrGridManager(this, 4);
dpdrRv.setLayoutManager(gridManager);
adapter = new TjxzListAdapter(R.layout.item_stu_eva, arr);
... ... @@ -427,11 +428,11 @@ public class DpdrActivity extends BaseActivity {
@Override
public void onAnimationEnd(Animation animation) {
DpdrActivity.this.adapter.setShow(false);
WaitDialog.show(DpdrActivity.this, "请稍候...");
Api().quest(Config.Token, Config.ClassId, item.getItem().get(position).getId(), item.getItem().get(position).getIs_level(), postid).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(data -> {
if (data.getCode() == M.success) {
M.toast(activity, "多人点评成功");
gridManager.setScroll(true);
WaitDialog.dismiss();
activity.finish();
} else if (data.getCode() == 401) {
ApiError.refreshToken();
... ...
... ... @@ -7,6 +7,7 @@ import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.formatter.ValueFormatter;
import java.util.ArrayList;
import java.util.List;
... ... @@ -16,6 +17,7 @@ public class BarChartManager {
private YAxis leftAxis; //左边Y轴
private YAxis rightAxis; //右边Y轴
private XAxis xAxis; //X轴
public BarChartManager(BarChart mBarChart) {
this.barChart = mBarChart;
leftAxis = barChart.getAxisLeft();
... ... @@ -23,7 +25,8 @@ public class BarChartManager {
mBarChart.setViewPortOffsets(150, 20, 100, 200);
xAxis = barChart.getXAxis();
}
private void initBarChart(){
private void initBarChart() {
barChart.getDescription().setEnabled(false);
barChart.setDrawGridBackground(false);
barChart.setTouchEnabled(true); // - > 触摸事件禁用 , 包括放大缩小 还有碰到触发线条标尺
... ... @@ -53,6 +56,7 @@ public class BarChartManager {
//不显示柱状图顶部值
}
private void setLegend() {
Legend legend = barChart.getLegend();
legend.setFormSize(12f); // 图例的图形大小
... ... @@ -65,18 +69,19 @@ public class BarChartManager {
legend.setYOffset(55f);
legend.setXOffset(30f);
}
public void ShowBart(List<Float> xAxisValues, List<Float> yValuses1, List<Float> yValuses2, List<String> labels, List<Integer> colours) {
public void ShowBart(List<String> detail, List<Float> xAxisValues, List<Float> yValuses1, List<Float> yValuses2, List<String> labels, List<Integer> colours) {
initBarChart();
// y 数据
ArrayList<BarEntry> yValues = new ArrayList<>();
// y2 数据
ArrayList<BarEntry> yValues2 = new ArrayList<>();
for (int i = 0; i <yValuses1.size() ; i++) {
yValues.add(new BarEntry(i,yValuses1.get(i)));
for (int i = 0; i < yValuses1.size(); i++) {
yValues.add(new BarEntry(i, yValuses1.get(i)));
}
for (int x = 0; x <yValuses2.size() ; x++) {
yValues2.add(new BarEntry(x,yValuses2.get(x)));
for (int x = 0; x < yValuses2.size(); x++) {
yValues2.add(new BarEntry(x, yValuses2.get(x)));
}
BarDataSet barDataSet1 = new BarDataSet(yValues, labels.get(0));
barDataSet1.setColor(colours.get(0));
... ... @@ -84,16 +89,18 @@ public class BarChartManager {
barDataSet2.setColor(colours.get(1));
barDataSet1.setDrawValues(false);
barDataSet2.setDrawValues(false);
BarData data = new BarData(barDataSet1,barDataSet2);
BarData data = new BarData(barDataSet1, barDataSet2);
float groupSpace = 0.06f;
float barSpace = 0.02f;
float barWidth = 0.45f;
// 设置 柱子宽度
data.setBarWidth(barWidth);
setXAxis(xAxisValues.get(xAxisValues.size() - 1) + 1, xAxisValues.get(0), xAxisValues.size(), detail);
data.groupBars(0.0f, groupSpace, barSpace);
xAxis.setLabelCount(xAxisValues.size(), true);
barChart.setData(data);
}
/**
* 设置Y轴值
*
... ... @@ -122,11 +129,36 @@ public class BarChartManager {
* @param min
* @param labelCount
*/
public void setXAxis(float max, float min, int labelCount) {
public void setXAxis(float max, float min, int labelCount, List<String> detail) {
if (max < min) {
return;
}
xAxis.setAxisMaximum(max);
xAxis.setAxisMinimum(min);
xAxis.setLabelCount(labelCount, true);
ValueFormatter Barformatter = new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
//设置 xAxis.setGranularity(1);后 value是从0开始的,每次加1,
int v = (int) value;
if(v==max){
String st = detail.get(detail.size()-1);
String tim1 = "";
tim1 = st;
return tim1;
}else if (v < detail.size() && v >= 0){
String st = detail.get(v);
String tim1 = "";
tim1 = st;
return tim1;
}else {
return null;
}
}
};
xAxis.setValueFormatter(Barformatter);
barChart.invalidate();
}
... ...
... ... @@ -325,7 +325,7 @@
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="@dimen/sp_14"
android:text="添加"
android:text="发布作业"
android:background="@drawable/dot_yellow"/>
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
... ...
... ... @@ -34,6 +34,16 @@
android:textSize="@dimen/sp_15"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_8"
android:text=""
android:textColor="@color/color_3d444d"
android:textSize="@dimen/sp_15"
android:textStyle="bold" />
<View
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
... ... @@ -61,6 +71,7 @@
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
<ImageView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/qingjia_add_icon"
... ...