支付密码、支付成功

This commit is contained in:
huangrui 2024-06-10 23:50:26 +08:00
parent 7649bb7834
commit d10f76a9d1
16 changed files with 701 additions and 12 deletions

View File

@ -62,4 +62,5 @@ dependencies {
implementation("org.greenrobot:eventbus:3.3.1")
}

View File

@ -22,9 +22,10 @@
android:theme="@style/Theme.Huangrui"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="Em8KaARhebL8G1KP0I1anrRnxUsctKEF" />
<activity
android:name=".BuySuscuss"
android:exported="false" />
<activity
android:name=".PersonFapiaoDetail"
android:exported="false" />

View File

@ -28,7 +28,7 @@ public class AddCard extends AppCompatActivity {
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(AddCard.this,ConfirmOrder.class);
Intent intent = new Intent(AddCard.this,PayWay.class);
startActivity(intent);
}
});

View File

@ -0,0 +1,78 @@
package com.hnucm.c25;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.text.InputFilter;
import android.util.AttributeSet;
import android.view.Gravity;
import androidx.appcompat.widget.AppCompatEditText;
public class BoxEditText extends AppCompatEditText {
private Paint paint;
private int boxSize; // 格子大小
private int gridSize; // 格子数量
private int currentTextLength; // 当前文本长度
public BoxEditText(Context context) {
super(context);
init();
}
public BoxEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
paint = new Paint();
paint.setColor(Color.GRAY); // 分隔线颜色
paint.setStyle(Paint.Style.FILL);
boxSize = getResources().getDimensionPixelSize(R.dimen.box_size); // 格子大小
gridSize = 6; // 假设我们需要6个格子
currentTextLength = 0;
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
// 设置最大字符数为格子数量
setFilters(new InputFilter[]{new InputFilter.LengthFilter(gridSize)});
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 绘制分隔线
float cellWidth = getWidth() / gridSize; // 假设gridSize为3
for (int i = 1; i < gridSize; i++) {
float x = i * cellWidth;
canvas.drawLine(x, 0, x, getHeight(), paint);
}
// 计算文本的宽度
Paint textPaint = getPaint();
textPaint.setTextSize(getTextSize());
textPaint.setTextAlign(Paint.Align.CENTER);
String textToDraw = getText().toString();
if (!textToDraw.isEmpty()) {
float charY = (getHeight() - textPaint.descent() - textPaint.ascent()) / 2; // 字符垂直居中
for (int i = 0; i < textToDraw.length(); i++) {
char c = textToDraw.charAt(i);
float charWidth = textPaint.measureText(String.valueOf(c));
// 计算字符在小格子中的x坐标使其居中
float charX = (i - 1) * boxSize + (cellWidth - charWidth) / 2;
// 绘制字符
canvas.drawText(String.valueOf(c), charX, charY, textPaint);
}
}
}
}

View File

@ -0,0 +1,43 @@
package com.hnucm.c25;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.gyf.immersionbar.ImmersionBar;
public class BuySuscuss extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_buy_suscuss);
ImmersionBar.with(this).init();
ImageView back = findViewById(R.id.imageView92);
//返回
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(BuySuscuss.this, Shouye.class);
intent.putExtra("id",3);
startActivity(intent);
finish();
}
});
//返回首页界面
TextView fapiao = findViewById(R.id.textView158);
fapiao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(BuySuscuss.this, Shouye.class);
intent.putExtra("id",3);
startActivity(intent);
finish();
}
});
}
}

View File

@ -19,7 +19,7 @@ public class Card_yanzheng extends AppCompatActivity {
confirmadd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Card_yanzheng.this,OnlineBuy.class);
Intent intent = new Intent(Card_yanzheng.this,ConfirmOrder.class);
startActivity(intent);
}
});
@ -28,7 +28,7 @@ public class Card_yanzheng extends AppCompatActivity {
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Card_yanzheng.this, Linedetail.class);
Intent intent = new Intent(Card_yanzheng.this, PayWay.class);
startActivity(intent);
}
});

View File

@ -2,12 +2,21 @@ package com.hnucm.c25;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@ -21,6 +30,7 @@ public class ConfirmOrder extends AppCompatActivity {
TextView choosePay;
TextView pay;
TextView shouldPay;
BoxEditText myEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -35,6 +45,26 @@ public class ConfirmOrder extends AppCompatActivity {
int month = calendar.get(Calendar.MONTH) + 1; // 获取月份加1是因为Calendar中月份是从0开始的
int day = calendar.get(Calendar.DAY_OF_MONTH); // 获取日期
time.setText(String.format("%04d-%02d-%02d",year, month, day));
myEditText = findViewById(R.id.your_edit_text);
myEditText.setFilters(new InputFilter.LengthFilter[]{new InputFilter.LengthFilter(6)}); // 设置最大长度为6
// 设置密码输入完成的监听
myEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() == 6) { // 当输入6位数字时
checkPassword(s.toString());
}
}
});
//todo 选择支付方式
choosePay = findViewById(R.id.textView139);
choosePay.setOnClickListener(new View.OnClickListener() {
@ -66,16 +96,82 @@ public class ConfirmOrder extends AppCompatActivity {
//todo 确认
CardView queren = findViewById(R.id.queren);
ConstraintLayout password = findViewById(R.id.password);
queren.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(ConfirmOrder.this, Shouye.class);
startActivity(intent);
// Intent intent = new Intent(ConfirmOrder.this, Shouye.class);
// startActivity(intent);
password.setVisibility(View.VISIBLE);
}
});
//收下密码框
ImageView pull = findViewById(R.id.imageView148);
pull.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
password.setVisibility(View.INVISIBLE);
}
});
pay.setText(getIntent().getStringExtra("totalMoney"));
shouldPay.setText(pay.getText());
num.setText(getIntent().getStringExtra("num"));
String[] numbers = {"0","1", "2", "3", "4", "5", "6", "7", "8", "9"};
int[] layoutIds = {R.id.num0,R.id.num1,R.id.num2,R.id.num3,R.id.num4,R.id.num5,R.id.num6,R.id.num7,R.id.num8,R.id.num9};
for (int i = 0; i < numbers.length; i++) {
final String number = numbers[i];
TextView shuzi = findViewById(layoutIds[i]);
// 为每个数字按钮设置点击事件
shuzi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumberToEditText(number);
}
});
}
//归零
ConstraintLayout guiling = findViewById(R.id.constraintLayout42);
guiling.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myEditText.getText().clear();
}
});
//删除一位
ConstraintLayout delete = findViewById(R.id.constraintLayout12);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
private void appendNumberToEditText(String number) {
// 将数字添加到EditText
Editable editable = myEditText.getText();
editable.append(number);
myEditText.setSelection(editable.length()); // 移动光标到末尾
if (editable.length() >= 6) {
// 密码长度已达到预期长度检查密码是否正确
checkPassword(editable.toString());
}
}
private void checkPassword(String inputPassword) {
// String inputPassword = myEditText.getText().toString();
if ("025802".equals(inputPassword)) {
// 密码正确跳转到购买成功界面
Intent intent = new Intent(ConfirmOrder.this, BuySuscuss.class);
startActivity(intent);
} else {
// 密码错误显示提示
Toast.makeText(this, "密码输入错误", Toast.LENGTH_SHORT).show();
// 清空EditText内容让用户重新输入
myEditText.getText().clear();
}
}
@Subscribe
public void onEvent(OnlineTicketEvent event){
@ -99,4 +195,5 @@ public class ConfirmOrder extends AppCompatActivity {
EventBus.getDefault().unregister(this); // 注销EventBus
}
}

View File

@ -1,6 +1,7 @@
package com.hnucm.c25;
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;
import android.content.Intent;
import android.os.Bundle;
@ -69,5 +70,14 @@ public class PayWay extends AppCompatActivity {
finish();
}
});
//银行卡
CardView card = findViewById(R.id.cardView10);
card.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new OnlineTicketEvent("中国工商银行",true,false));
finish();
}
});
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false">
<shape>
<solid android:color="#C0C4C7" />
</shape>
</item>
<item android:state_enabled="true" android:state_pressed="false">
<shape>
<solid android:color="#C0C4C7" />
</shape>
</item>
<item android:state_enabled="true" android:state_pressed="true">
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
</selector>

View File

@ -0,0 +1,90 @@
<?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="match_parent"
android:layout_height="match_parent"
tools:context=".BuySuscuss">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="#2F3D68"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开具发票"
android:textColor="@color/white"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView92"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/arrow_left_white" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/imageView146"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="64dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2"
app:srcCompat="@drawable/pay" />
<TextView
android:id="@+id/textView156"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="购买成功"
android:textSize="17sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView146" />
<TextView
android:id="@+id/textView157"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="16dp"
android:text="您的开票请求已提交,系统正在处理中,请稍后,您可以前往开票历史页面查看您的开票进度"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView156" />
<TextView
android:id="@+id/textView158"
android:layout_width="350dp"
android:layout_height="50dp"
android:layout_marginTop="32dp"
android:background="@drawable/roundconer_frame"
android:gravity="center"
android:text="返回首页"
android:textColor="#2D83FB"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView157" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -14,9 +14,7 @@
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_constraintStart_toStartOf="parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout12"
@ -378,6 +376,7 @@
android:layout_marginTop="32dp"
android:layout_marginEnd="16dp"
app:cardCornerRadius="10dp"
app:cardElevation="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView146">
@ -400,5 +399,337 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="330dp"
android:background="@color/white"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<ImageView
android:id="@+id/imageView148"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/tiaoxingbang" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout42"
android:layout_width="0dp"
android:layout_height="60dp"
android:background="@drawable/selector_key_del"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout39"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/textView183"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout39"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout43"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout42">
<TextView
android:id="@+id/num0"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="0"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout43"
android:layout_width="0dp"
android:layout_height="60dp"
android:background="@drawable/selector_key_del"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout39">
<ImageView
android:id="@+id/imageView70"
android:layout_width="40dp"
android:layout_height="40dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/qingchu" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout45"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout49"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout44"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/num4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="4"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout44"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout48"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout46"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout45">
<TextView
android:id="@+id/num5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="5"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout46"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout50"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout44">
<TextView
android:id="@+id/num6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="6"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout50"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout43"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout48">
<TextView
android:id="@+id/num9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
android:text="9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout49"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout42"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout48"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/num7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="7"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout48"
android:layout_width="0dp"
android:layout_height="60dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout39"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout50"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout49">
<TextView
android:id="@+id/num8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:text="8"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout60"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout44"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout62"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout61">
<TextView
android:id="@+id/num2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
android:text="2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout62"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout46"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/constraintLayout60">
<TextView
android:id="@+id/num3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
android:text="3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout61"
android:layout_width="0dp"
android:layout_height="50dp"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout45"
app:layout_constraintEnd_toStartOf="@+id/constraintLayout60"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/num1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/number_selector"
android:gravity="center"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
android:text="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.hnucm.c25.BoxEditText
android:id="@+id/your_edit_text"
android:layout_width="360dp"
android:layout_height="50dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:inputType="numberPassword"
android:background="@drawable/edit_background"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout60"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -231,7 +231,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="票记录"
android:text="票记录"
app:layout_constraintEnd_toEndOf="@+id/imageView80"
app:layout_constraintStart_toStartOf="@+id/imageView80"
app:layout_constraintTop_toBottomOf="@+id/imageView80" />

View File

@ -2,4 +2,7 @@
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="box_size">60dp</dimen>
</resources>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>