[add] HeaderView不随list滑动

This commit is contained in:
liujing
2021-09-29 20:06:09 +08:00
parent c4981d9359
commit d16cc5f5b1
7 changed files with 101 additions and 54 deletions

View File

@@ -48,45 +48,29 @@ public class CheckInfoAdapter extends RecyclerView.Adapter {
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (position == 0 || position == 2) {
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.GONE);
((CheckInfoViewHolder) holder).mTextView.setText("模块名称");
TextPaint tp = ((CheckInfoViewHolder) holder).mTextView.getPaint();
tp.setFakeBoldText(true);
((CheckInfoViewHolder) holder).backImage.setVisibility(View.VISIBLE);
} else if (position == 1 || position == 3) {
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.GONE);
((CheckInfoViewHolder) holder).mTextView.setText("运行状态");
TextPaint tp = ((CheckInfoViewHolder) holder).mTextView.getPaint();
tp.setFakeBoldText(true);
((CheckInfoViewHolder) holder).backImage.setVisibility(View.VISIBLE);
} else {
((CheckInfoViewHolder) holder).backImage.setVisibility(View.INVISIBLE);
try {
if ((position - 4) < showData.size() * 2) {
int index = (position - 4) / 2;
CheckResultData.CheckListItem positionItem = showData.get(index);
if (isEven(position) == true) {//偶数隐藏图片显示检测指标
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.GONE);
((CheckInfoViewHolder) holder).mTextView.setText(positionItem.getName());
} else {//奇数显示图片和检测指标结果
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.VISIBLE);
String state = (String) positionItem.getStateValue();
if (state.equals("1")) {
((CheckInfoViewHolder) holder).mTextView.setText("正常");
((CheckInfoViewHolder) holder).checkIcon.setImageResource(R.drawable.check_right);
} else if ((state.equals("0"))) {
((CheckInfoViewHolder) holder).mTextView.setText("异常");
((CheckInfoViewHolder) holder).checkIcon.setImageResource(R.drawable.check_wrong);
} else {
((CheckInfoViewHolder) holder).mTextView.setText(state);
}
try {
if (position < showData.size() * 2) {
int index = position / 2;
CheckResultData.CheckListItem positionItem = showData.get(index);
if (isEven(position) == true) {//偶数隐藏图片显示检测指标
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.GONE);
((CheckInfoViewHolder) holder).mTextView.setText(positionItem.getName());
} else {//奇数显示图片和检测指标结果
((CheckInfoViewHolder) holder).checkIcon.setVisibility(View.VISIBLE);
String state = (String) positionItem.getStateValue();
if (state.equals("1")) {
((CheckInfoViewHolder) holder).mTextView.setText("正常");
((CheckInfoViewHolder) holder).checkIcon.setImageResource(R.drawable.check_right);
} else if ((state.equals("0"))) {
((CheckInfoViewHolder) holder).mTextView.setText("异常");
((CheckInfoViewHolder) holder).checkIcon.setImageResource(R.drawable.check_wrong);
} else {
((CheckInfoViewHolder) holder).mTextView.setText(state);
}
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
@@ -102,19 +86,18 @@ public class CheckInfoAdapter extends RecyclerView.Adapter {
@Override
public int getItemCount() {
return showData.size() * 2 + 4;
return showData.size() * 2;
}
public class CheckInfoViewHolder extends RecyclerView.ViewHolder {
private ImageView checkIcon;
private TextView mTextView;
private View backImage;
public CheckInfoViewHolder(View v) {
super(v);
checkIcon = v.findViewById(R.id.info_check_icon);
mTextView = v.findViewById(R.id.info_result_tx);
backImage = v.findViewById(R.id.backImage);
}
}
}

View File

@@ -69,7 +69,8 @@ public class CheckInfoListDialog extends BaseFloatDialog {
e.printStackTrace();
}
List resultData = showInfoResult();
mRecyclerView.setAdapter(new CheckInfoAdapter(mContext, mStyle, resultData));
CheckInfoAdapter adapter = new CheckInfoAdapter(mContext, mStyle, resultData);
mRecyclerView.setAdapter(adapter);
//关闭按钮
findViewById(R.id.cancel_info_list_button).setOnClickListener(v -> {
dismiss();

View File

@@ -11,7 +11,7 @@ import com.mogo.eagle.core.function.check.R;
/**
* @author liujing
* @description 描述
* @description 列表自适应高+限高
* @since: 9/29/21
*/
public class CheckInfoRecyclerView extends RecyclerView {

View File

@@ -5,16 +5,6 @@
android:layout_height="@dimen/dp_127"
android:layout_gravity="left">
<View
android:id="@+id/backImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/check_driver"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<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="1900px"
android:layout_height="1140px"
android:layout_gravity="center"
@@ -29,18 +30,29 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<include
android:id="@+id/check_title_item"
layout="@layout/check_info_title_item"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_127"
android:layout_marginLeft="@dimen/dp_143"
android:layout_marginTop="@dimen/dp_66"
android:layout_marginRight="@dimen/dp_143"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/check_info_title"></include>
<com.mogo.eagle.core.function.check.view.CheckInfoRecyclerView
android:id="@+id/check_list_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_143"
android:layout_marginTop="@dimen/dp_66"
android:layout_marginRight="@dimen/dp_143"
android:layout_marginBottom="@dimen/dp_80"
android:background="@drawable/check_recycler_shape"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/check_info_title" />
app:layout_constraintTop_toBottomOf="@+id/check_title_item" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/check_width"
android:layout_height="@dimen/dp_127"
android:background="@drawable/check_driver"
android:orientation="horizontal">
<TextView
android:id="@+id/title_one"
android:layout_width="0px"
android:layout_height="match_parent"
android:gravity="center"
android:text="模块名称"
android:textSize="@dimen/dp_38"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/title_two"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title_two"
android:layout_width="0px"
android:layout_height="match_parent"
android:gravity="center"
android:text="运行状态"
android:textSize="@dimen/dp_38"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/title_one"
app:layout_constraintRight_toLeftOf="@+id/title_thr"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title_thr"
android:layout_width="0px"
android:layout_height="match_parent"
android:gravity="center"
android:text="模块名称"
android:textSize="@dimen/dp_38"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintRight_toLeftOf="@+id/title_for"
app:layout_constraintLeft_toRightOf="@+id/title_two"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title_for"
android:layout_width="0px"
android:layout_height="match_parent"
android:gravity="center"
android:text="运行状态"
android:textSize="@dimen/dp_38"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/title_thr"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<dimen name="check_width">1900px</dimen>
<dimen name="check_height">876px</dimen>
<dimen name="check_height">770px</dimen>
</resources>