Improve standard Mifare Operates Layout

This commit is contained in:
Wilson
2020-04-06 17:54:35 +08:00
parent 0faca85f84
commit a7edbdae53
11 changed files with 177 additions and 97 deletions
@@ -5,24 +5,23 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.AppCompatCheckBox;
import androidx.appcompat.widget.SwitchCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SwitchCompat;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -113,14 +112,16 @@ public abstract class AbsMfOperatesFragment
//读卡区域选项
private EditText edtInputReadTagSingleSector = null;
private AppCompatCheckBox ckBoxReadTagIsSingleSectorMode = null;
private SwitchCompat ckBoxReadTagIsSingleSectorMode = null;
private LinearLayout llInputReadTagSingleSector = null;
//写卡区域选项
private SwitchCompat swOpenWriteStart2EndMode = null;
private EditText edtInputWriteTagSingleSector = null;
private EditText edtInputWriteTagSingleBlock = null;
private EditText edtInputWriteTagSingleBlockData = null;
private AppCompatCheckBox ckBoxWriteTagIsSingleSectorMode = null;
private SwitchCompat ckBoxWriteTagIsSingleSectorMode = null;
private LinearLayout llInputWriteTagSingleSector = null;
/*
* 维护一个读取成功的数据的缓存集合
@@ -234,6 +235,7 @@ public abstract class AbsMfOperatesFragment
//读取区域
edtInputReadTagSingleSector = view.findViewById(R.id.edtInputReadTagSingleSector);
ckBoxReadTagIsSingleSectorMode = view.findViewById(R.id.ckBoxReadTagIsSingleSectorMode);
llInputReadTagSingleSector = view.findViewById(R.id.llInputReadTagSingleSector);
//写卡区域
swAllowWriteZero = view.findViewById(R.id.swAllowWriteZero);
swOpenWriteStart2EndMode = view.findViewById(R.id.swOpenWriteStart2EndMode);
@@ -241,9 +243,31 @@ public abstract class AbsMfOperatesFragment
edtInputWriteTagSingleBlock = view.findViewById(R.id.edtInputWriteTagSingleBlock);
edtInputWriteTagSingleBlockData = view.findViewById(R.id.edtInputWriteTagSingleBlockData);
ckBoxWriteTagIsSingleSectorMode = view.findViewById(R.id.ckBoxWriteTagIsSingleSectorMode);
llInputWriteTagSingleSector = view.findViewById(R.id.llInputWriteTagSingleSector);
}
private void initActions() {
ckBoxReadTagIsSingleSectorMode.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
llInputReadTagSingleSector.setVisibility(View.VISIBLE);
} else {
llInputReadTagSingleSector.setVisibility(View.GONE);
}
}
});
ckBoxWriteTagIsSingleSectorMode.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
llInputWriteTagSingleSector.setVisibility(View.VISIBLE);
} else {
llInputWriteTagSingleSector.setVisibility(View.GONE);
}
}
});
// 选择读卡操作!
btnRead.setOnClickListener(new View.OnClickListener() {
@Override
@@ -584,6 +608,8 @@ public abstract class AbsMfOperatesFragment
dismissWorkDialogNotEnableBtn();
setCanScrollPager(false);
//直接读卡
boolean isReadSingleSectorMode = ckBoxReadTagIsSingleSectorMode.isChecked();
type = isReadSingleSectorMode ? Type.ONE : Type.ALL;
if (type == Type.ALL) {
tagReadPresenter.readSpecialAll();
} else {
@@ -594,6 +620,8 @@ public abstract class AbsMfOperatesFragment
dismissWorkDialogNotEnableBtn();
setCanScrollPager(false);
//直接写卡!
boolean isReadSingleSectorMode = ckBoxWriteTagIsSingleSectorMode.isChecked();
type = isReadSingleSectorMode ? Type.ONE : Type.ALL;
if (type == Type.ALL) {
tagWritePresenter.writeSpecialAll();
} else {
@@ -46,7 +46,7 @@
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/aliases"
android:textAllCaps="false"
android:textColor="@color/md_white_1000" />
@@ -214,7 +214,7 @@
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/open"
android:textColor="@color/md_white_1000" />
@@ -260,7 +260,7 @@
android:layout_width="76dp"
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/flash"
android:textColor="@color/md_white_1000" />
@@ -284,7 +284,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/download"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -297,7 +297,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/info"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -310,7 +310,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/reset"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -324,7 +324,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/all"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -337,7 +337,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/single"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -350,7 +350,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/log"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -363,7 +363,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/data"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -376,7 +376,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/upload"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -389,7 +389,7 @@
android:layout_width="wrap_content"
android:layout_height="128dp"
android:layout_margin="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:drawableTop="@drawable/clear"
android:paddingTop="38dp"
android:paddingBottom="6dp"
@@ -226,7 +226,7 @@
android:layout_height="match_parent"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="保存"
android:textColor="@color/md_white_1000" />
+115 -69
View File
@@ -60,13 +60,28 @@
android:background="@drawable/gradual"
android:orientation="vertical">
<TextView
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/md_grey_200"
android:padding="10dp"
android:text="@string/title_reader_options"
android:textSize="10sp" />
android:background="@color/md_grey_200">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/read_a_sector"
android:textSize="10sp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/ckBoxReadTagIsSingleSectorMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp"
android:paddingBottom="10dp" />
</RelativeLayout>
<View
android:layout_width="match_parent"
@@ -74,28 +89,21 @@
android:background="@color/md_grey_200" />
<LinearLayout
android:id="@+id/llInputReadTagSingleSector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp">
android:paddingLeft="16dp"
android:visibility="gone">
<EditText
android:id="@+id/edtInputReadTagSingleSector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="@string/sector"
android:inputType="number"
android:maxLength="3" />
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/ckBoxReadTagIsSingleSectorMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:layoutDirection="rtl"
android:paddingLeft="16dp"
android:text="@string/hint_read_sector"
android:textColor="@color/md_grey_700"
android:textSize="12sp" />
android:maxLength="3"
android:text="0" />
</LinearLayout>
@@ -162,51 +170,6 @@
android:layout_height="1dp"
android:background="@color/md_grey_200" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:paddingStart="16dp">
<EditText
android:id="@+id/edtInputWriteTagSingleSector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/sector"
android:inputType="number"
android:maxLength="3" />
<EditText
android:id="@+id/edtInputWriteTagSingleBlock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/block"
android:inputType="number"
android:maxLength="2" />
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/ckBoxWriteTagIsSingleSectorMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:layoutDirection="rtl"
android:paddingLeft="16dp"
android:text="@string/title_write_block_hint"
android:textColor="@color/md_grey_700"
android:textSize="12sp" />
</LinearLayout>
<EditText
android:id="@+id/edtInputWriteTagSingleBlockData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:hint="@string/data"
android:maxLength="32" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
@@ -214,6 +177,86 @@
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:background="@drawable/gradual"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/md_grey_200">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/write_a_block"
android:textSize="10sp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/ckBoxWriteTagIsSingleSectorMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp"
android:paddingBottom="10dp" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/md_grey_200" />
<LinearLayout
android:id="@+id/llInputWriteTagSingleSector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:paddingStart="16dp">
<EditText
android:id="@+id/edtInputWriteTagSingleSector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/sector"
android:inputType="number"
android:maxLength="3" />
<EditText
android:id="@+id/edtInputWriteTagSingleBlock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/block"
android:inputType="number"
android:maxLength="2" />
</LinearLayout>
<EditText
android:id="@+id/edtInputWriteTagSingleBlockData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:hint="@string/data"
android:maxLength="32" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -239,27 +282,30 @@
<Button
android:id="@+id/btnStop"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="38dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_selectot_blue"
android:layout_weight="1"
android:background="@drawable/btn_selector_blue"
android:text="@string/cancel"
android:textColor="@color/md_white_1000" />
<Button
android:id="@+id/btnWriteTag"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="38dp"
android:background="@drawable/btn_selectot_blue"
android:layout_weight="1"
android:background="@drawable/btn_selector_blue"
android:text="@string/writetag"
android:textColor="@color/md_white_1000" />
<Button
android:id="@+id/btnReadTag"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="38dp"
android:layout_marginStart="16dp"
android:background="@drawable/btn_selectot_blue"
android:layout_weight="1"
android:background="@drawable/btn_selector_blue"
android:text="@string/readtag"
android:textColor="@color/md_white_1000" />
@@ -23,7 +23,7 @@
android:layout_height="36dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="发送"
android:textColor="@color/md_white_1000" />
@@ -35,7 +35,7 @@
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/agree"
android:textAllCaps="false"
android:textColor="@color/md_white_1000" />
@@ -275,5 +275,7 @@
<string name="tips_os_flash_success">OS flash successful.</string>
<string name="tips_os_flash_failed">OS flash failed.</string>
<string name="tips_pm3_enter_failed">PM3 failed to enter flash mode!</string>
<string name="read_a_sector">Read One Sector</string>
<string name="write_a_block">Write One Block</string>
</resources>
@@ -281,5 +281,7 @@
<string name="tips_os_flash_success">操作系统刷写成功</string>
<string name="tips_os_flash_failed">操作系统刷写失败</string>
<string name="tips_pm3_enter_failed">PM3进入刷写模式失败!</string>
<string name="read_a_sector">读取一个扇区</string>
<string name="write_a_block">写入一个块</string>
</resources>
+2
View File
@@ -274,5 +274,7 @@
<string name="tips_os_flash_success">OS flash successful.</string>
<string name="tips_os_flash_failed">OS flash failed.</string>
<string name="tips_pm3_enter_failed">PM3 failed to enter flash mode!</string>
<string name="read_a_sector">Read One Sector</string>
<string name="write_a_block">Write One Block</string>
</resources>
+3 -3
View File
@@ -53,7 +53,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/cancel"
android:textAllCaps="false"
android:textColor="@color/md_white_1000" />
@@ -65,7 +65,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/up_path"
android:textAllCaps="false"
android:textColor="@color/md_white_1000" />
@@ -77,7 +77,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/btn_selectot_blue"
android:background="@drawable/btn_selector_blue"
android:text="@string/ok"
android:textAllCaps="false"
android:textColor="@color/md_white_1000" />