登录页面的改进和底部导航

master
fangshicai 3 years ago
parent bcf9360497
commit d2861bbc66

@ -3,6 +3,16 @@
<component name="DesignSurface">
<option name="filePathToZoomLevelMap">
<map>
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_account_circle_18.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_account_circle_20.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_account_circle_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_explore_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_favorite_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_feedback_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_home_20.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_home_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_search_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/baseline_shopping_cart_24.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/btn_shape_o.xml" value="0.136" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/ic_launcher_background.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/ic_lock_outline_black_24dp.xml" value="0.1345" />
@ -10,8 +20,14 @@
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/ic_visibility_black_24dp.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/drawable/ic_visibility_off_black_24dp.xml" value="0.1345" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/activity_detail.xml" value="0.11354166666666667" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/activity_login.xml" value="0.2" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/activity_home_page.xml" value="0.152" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/activity_login.xml" value="0.176" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/activity_main.xml" value="0.1" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/fragment_home_page.xml" value="0.2" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/fragment_message_page.xml" value="0.13229166666666667" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/fragment_my_page.xml" value="0.13229166666666667" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/layout/fragment_shop_page.xml" value="0.1837916063675832" />
<entry key="..\:/andriod/Android_Couser_Design/app/src/main/res/menu/bottom_navigation_menu.xml" value="0.176" />
</map>
</option>
</component>

@ -36,6 +36,7 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
def fragment_version = "1.4.1"
// okhttp
implementation('com.squareup.okhttp3:okhttp:5.0.0-alpha.7')
implementation 'com.google.code.gson:gson:2.9.0'
@ -59,4 +60,8 @@ dependencies {
//material3
implementation 'com.google.android.material:material:1.5.0'
//fragment
implementation "androidx.fragment:fragment:$fragment_version"
}

@ -33,7 +33,13 @@
tools:targetApi="31">
<activity
android:name=".activity.HomePageActivity"
android:exported="false" />
android:exported="false" >
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name=".activity.LoginActivity"
android:exported="true">
@ -45,12 +51,6 @@
</activity>
<activity android:name="com.android.MainActivity">
<!-- <intent-filter> -->
<!-- <action android:name="android.intent.action.MAIN" /> -->
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
<!-- </intent-filter> -->
</activity>
</application>

@ -1,16 +1,77 @@
package com.android.activity;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;
import android.widget.Button;
import com.android.R;
import com.android.activity.fragment.HomePageFragment;
import com.android.activity.fragment.MessagePageFragment;
import com.android.activity.fragment.MyPageFragment;
import com.android.activity.fragment.ShopCarPageFragment;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.navigation.NavigationBarView;
import com.google.android.material.navigation.NavigationView;
public class HomePageActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener{
private BottomNavigationView navigation;
private FragmentTransaction fragmentTransaction;
public class HomePageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
navigation = findViewById(R.id.bottom_navigation);
navigation.setLabelVisibilityMode(NavigationBarView.LABEL_VISIBILITY_LABELED);
navigation.setSelectedItemId(R.id.item_home);
//首次加载到home活动
//开始碎片事务
fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.fragment_container,new HomePageFragment());
//提交事务
fragmentTransaction.commit();
//设置低航栏的点击事件
navigation.setOnNavigationItemSelectedListener(this);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
//开始碎片事务
fragmentTransaction =
getSupportFragmentManager().beginTransaction();
switch (item.getItemId()) {
case R.id.item_message:
fragmentTransaction.replace(R.id.fragment_container, new MessagePageFragment());
//提交事务
fragmentTransaction.commit();
break;
case R.id.item_my:
fragmentTransaction.replace(R.id.fragment_container, new MyPageFragment());
fragmentTransaction.commit();
break;
case R.id.item_shop:
fragmentTransaction.replace(R.id.fragment_container, new ShopCarPageFragment());
fragmentTransaction.commit();
break;
case R.id.item_home:
fragmentTransaction.replace(R.id.fragment_container, new HomePageFragment());
fragmentTransaction.commit();
break;
}
return true;
}
}

@ -0,0 +1,45 @@
package com.android.activity.fragment;
import android.content.Context;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.R;
/**
* A simple {@link Fragment} subclass.
*com.android.activity.fragment.HomePageFragment
* create an instance of this fragment.
*/
public class HomePageFragment extends Fragment {
private Context context = null;
public HomePageFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
context = getActivity();
View rootView = inflater.inflate(R.layout.fragment_home_page,
container, false);
return rootView;
}
}

@ -0,0 +1,66 @@
package com.android.activity.fragment;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.R;
/**
* A simple {@link Fragment} subclass.
* Use the {@link MessagePageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class MessagePageFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public MessagePageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment MessagePageFragment.
*/
// TODO: Rename and change types and number of parameters
public static MessagePageFragment newInstance(String param1, String param2) {
MessagePageFragment fragment = new MessagePageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_message_page, container, false);
}
}

@ -0,0 +1,66 @@
package com.android.activity.fragment;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.R;
/**
* A simple {@link Fragment} subclass.
* Use the {@link MyPageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class MyPageFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public MyPageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment MyPageFragment.
*/
// TODO: Rename and change types and number of parameters
public static MyPageFragment newInstance(String param1, String param2) {
MyPageFragment fragment = new MyPageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_my_page, container, false);
}
}

@ -0,0 +1,66 @@
package com.android.activity.fragment;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.R;
/**
* A simple {@link Fragment} subclass.
* Use the {@link ShopCarPageFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class ShopCarPageFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public ShopCarPageFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment ShopPageFragment.
*/
// TODO: Rename and change types and number of parameters
public static ShopCarPageFragment newInstance(String param1, String param2) {
ShopCarPageFragment fragment = new ShopCarPageFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_shop_page, container, false);
}
}

@ -34,6 +34,9 @@ public class MyWatcher implements TextWatcher {
//注册按钮
registerButton.setOnClickListener(loginActivity);
}
else {
getVerificationCode.setEnabled(false);
}
}

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="18dp"
android:viewportWidth="18"
android:viewportHeight="18"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M9,1C4.58,1 1,4.58 1,9s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8zM9,3.75c1.24,0 2.25,1.01 2.25,2.25S10.24,8.25 9,8.25 6.75,7.24 6.75,6 7.76,3.75 9,3.75zM9,14.5c-1.86,0 -3.49,-0.92 -4.49,-2.33C4.62,10.72 7.53,10 9,10c1.47,0 4.38,0.72 4.49,2.17 -1,1.41 -2.63,2.33 -4.49,2.33z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M10,2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8s8,-3.58 8,-8S14.42,2 10,2zM10,5.5c1.66,0 3,1.34 3,3s-1.34,3 -3,3s-3,-1.34 -3,-3S8.34,5.5 10,5.5zM10,16.5c-2.05,0 -3.87,-0.95 -5.07,-2.44C6.38,13.08 8.12,12.5 10,12.5s3.62,0.58 5.07,1.56C13.87,15.55 12.05,16.5 10,16.5z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM12,6c1.93,0 3.5,1.57 3.5,3.5S13.93,13 12,13s-3.5,-1.57 -3.5,-3.5S10.07,6 12,6zM12,20c-2.03,0 -4.43,-0.82 -6.14,-2.88C7.55,15.8 9.68,15 12,15s4.45,0.8 6.14,2.12C16.43,19.18 14.03,20 12,20z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,10.9c-0.61,0 -1.1,0.49 -1.1,1.1s0.49,1.1 1.1,1.1c0.61,0 1.1,-0.49 1.1,-1.1s-0.49,-1.1 -1.1,-1.1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM14.19,14.19L6,18l3.81,-8.19L18,6l-3.81,8.19z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM13,14h-2v-2h2v2zM13,10h-2L11,6h2v4z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M8,17v-5h4v5h4v-6h2l-8,-8 -8,8h2v6h4z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M13.37,12h-0.72l-0.19,-0.19c0.9,-1.04 1.44,-2.34 1.44,-3.82 0,-3.28 -2.61,-6 -5.89,-6S2,4.72 2,8s2.66,5.89 5.95,5.89c1.47,0 2.83,-0.54 3.87,-1.44l0.18,0.2v0.72L16.64,18 18,16.64 13.37,12zM7.95,12.06c-2.28,0 -4.12,-1.84 -4.12,-4.12s1.84,-4.12 4.12,-4.12 4.12,1.84 4.12,4.12 -1.85,4.12 -4.12,4.12z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M7,18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM1,2v2h2l3.6,7.59 -1.35,2.45c-0.16,0.28 -0.25,0.61 -0.25,0.96 0,1.1 0.9,2 2,2h12v-2L7.42,15c-0.14,0 -0.25,-0.11 -0.25,-0.25l0.03,-0.12 0.9,-1.63h7.45c0.75,0 1.41,-0.41 1.75,-1.03l3.58,-6.49c0.08,-0.14 0.12,-0.31 0.12,-0.48 0,-0.55 -0.45,-1 -1,-1L5.21,4l-0.94,-2L1,2zM17,18c-1.1,0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
</vector>

@ -1,9 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<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=".activity.HomePageActivity">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/bottom_navigation_menu"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

@ -4,43 +4,81 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
tools:context=".activity.LoginActivity">
<!-- 登录的图标-->
<RelativeLayout
android:id="@+id/login_ic_layout"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="140dp"
>
<ImageView
android:layout_width="108dp"
android:layout_height="108dp"
android:src="@drawable/baseline_account_circle_24"
android:layout_centerInParent="true"/>
</RelativeLayout>
<EditText
android:id="@+id/et_acc"
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_acc_Field"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:layout_marginLeft="12dp"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginRight="12dp"
android:layout_marginTop="48dp"
android:hint="手机号"
app:layout_constraintBottom_toTopOf="@id/login_code_layout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/et_acc"
android:hint="请输入手机号"/>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/login_ic_layout">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_acc"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.textfield.TextInputLayout>
<RelativeLayout
android:id="@+id/login_layout"
android:orientation="horizontal"
android:id="@+id/login_code_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:layout_marginLeft="12dp"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginRight="12dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_acc">
<EditText
android:id="@+id/et_pwd"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_acc_Field"
android:layout_marginTop="1dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/text_code_Field"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_alignBaseline="@id/bt_getCode"
android:hint="请输入验证码"/>
android:hint="验证码">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_pwd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/bt_getCode"
android:layout_gravity="center" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/bt_getCode"
style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/text_code_Field"
android:layout_alignParentRight="true"
android:layout_gravity="center"
android:enabled="false"
@ -48,35 +86,40 @@
android:textSize="16sp" />
</RelativeLayout>
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/login_layout"
>
app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
app:layout_constraintTop_toBottomOf="@id/login_code_layout"
android:layout_marginTop="4dp">
<Button
android:id="@+id/bt_login"
style="@style/Widget.Material3.Button.ElevatedButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="210dp"
android:layout_marginStart="16dp"
android:text="登录"
android:textSize="24sp"
android:layout_marginEnd="240dp"
style="?attr/materialButtonOutlinedStyle"
/>
android:textSize="24sp" />
<Button
android:id="@+id/bt_register"
style="@style/Widget.Material3.Button.ElevatedButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="210dp"
android:layout_marginEnd="16dp"
android:text="注册"
android:textSize="24sp"
android:layout_marginStart="240dp"
style="?attr/materialButtonOutlinedStyle"
/>
android:textSize="24sp" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.fragment.HomePageFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="home" />
</FrameLayout>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.fragment.MessagePageFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="message" />
</FrameLayout>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.fragment.MyPageFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="my" />
</FrameLayout>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.fragment.ShopPageFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="shop" />
</FrameLayout>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="@+id/item_home"
android:enabled="true"
android:icon="@drawable/baseline_home_24"
android:title="首页"
/>
<item
android:id="@+id/item_message"
android:enabled="true"
android:icon="@drawable/baseline_explore_24"
android:title="消息"/>
<item
android:id="@+id/item_shop"
android:enabled="true"
android:icon="@drawable/baseline_shopping_cart_24"
android:title="购物车"
/>
<item
android:id="@+id/item_my"
android:enabled="true"
android:icon="@drawable/baseline_account_circle_24"
android:title="我的"/>
</menu>

@ -0,0 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Android_Couser_Design.My" parent="ThemeOverlay.Material3.DynamicColors.Light">
</style>
</resources>

@ -1,3 +1,6 @@
<resources>
<string name="app_name">Android_Couser_Design</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
</resources>
Loading…
Cancel
Save