mirror of
https://e.coding.net/mcontext/mContext/sdu.git
synced 2024-09-18 02:24:54 +08:00
规范首页实现
This commit is contained in:
parent
f3f76711cd
commit
2d4e77a43e
@ -33,19 +33,17 @@ dependencies {
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
implementation 'androidx.annotation:annotation:1.1.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
implementation 'androidx.navigation:navigation-fragment:2.0.0'
|
||||
implementation 'androidx.navigation:navigation-ui:2.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
//第三方aar包
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
|
||||
implementation 'com.squareup.okhttp:okhttp:2.7.5'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
|
||||
|
||||
implementation 'com.github.bumptech.glide:glide:4.11.0'
|
||||
|
||||
implementation 'com.shuyu:GSYVideoPlayer:7.1.3'
|
||||
//刘海屏等沉浸式状态栏处理
|
||||
// 基础依赖包,必须要依赖
|
||||
@ -53,6 +51,8 @@ dependencies {
|
||||
// fragment快速实现(可选)
|
||||
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
|
||||
|
||||
//底部导航栏实现
|
||||
implementation 'com.google.android.material:material:1.1.0'
|
||||
//测试用例
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
}
|
||||
|
@ -9,23 +9,21 @@
|
||||
<application
|
||||
android:name=".comm.SDUApp"
|
||||
android:allowBackup="false"
|
||||
tools:replace="android:allowBackup"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:maxAspectRatio="2.4"
|
||||
android:resizeableActivity="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:ignore="UnusedAttribute">
|
||||
tools:ignore="UnusedAttribute"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<meta-data
|
||||
android:name="android.max_aspect"
|
||||
android:value="2.4" />
|
||||
<!--适配华为刘海屏-->
|
||||
android:value="2.4" /> <!-- 适配华为刘海屏 -->
|
||||
<meta-data
|
||||
android:name="android.notch_support"
|
||||
android:value="true" />
|
||||
<!--适配小米刘海屏-->
|
||||
android:value="true" /> <!-- 适配小米刘海屏 -->
|
||||
<meta-data
|
||||
android:name="notch.config"
|
||||
android:value="portrait|landscape" />
|
||||
|
@ -1,52 +1,23 @@
|
||||
package com.yuxihan.sdu;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.yuxihan.sdu.comm.BaseActivity;
|
||||
import com.yuxihan.sdu.gsv.SimpleDetailActivityMode2;
|
||||
|
||||
|
||||
public class MainActivity extends BaseActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
ImmersionBar.with(this).titleBar(R.id.toolbar)
|
||||
.navigationBarColor(R.color.shape1)
|
||||
.init();
|
||||
findViewById(R.id.start_local_video).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(MainActivity.this, SimpleDetailActivityMode2.class));
|
||||
}
|
||||
});
|
||||
//设置导航栏菜单项Item选中监听
|
||||
((BottomNavigationView) findViewById(R.id.bottomNavigationView))
|
||||
.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
String title = item.getTitle().toString();
|
||||
switch (item.getItemId()) {
|
||||
case R.id.item_bottom_1:
|
||||
Toast.makeText(getApplicationContext(), "Item1", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.item_bottom_2:
|
||||
Toast.makeText(getApplicationContext(), "Item2", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.item_bottom_3:
|
||||
Toast.makeText(getApplicationContext(), "Item3", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
package com.yuxihan.sdu;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.navigation.NavController;
|
||||
import androidx.navigation.Navigation;
|
||||
import androidx.navigation.ui.NavigationUI;
|
||||
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
||||
import com.yuxihan.sdu.comm.BaseActivity;
|
||||
|
||||
public class MainActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
BottomNavigationView navView = findViewById(R.id.nav_view);
|
||||
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
|
||||
NavigationUI.setupWithNavController(navView, navController);
|
||||
}
|
||||
|
||||
}
|
||||
|
12
app/src/main/java/com/yuxihan/sdu/comm/BaseFragment.java
Normal file
12
app/src/main/java/com/yuxihan/sdu/comm/BaseFragment.java
Normal file
@ -0,0 +1,12 @@
|
||||
package com.yuxihan.sdu.comm;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.gyf.immersionbar.components.SimpleImmersionFragment;
|
||||
|
||||
public class BaseFragment extends SimpleImmersionFragment {
|
||||
|
||||
@Override
|
||||
public void initImmersionBar() {
|
||||
ImmersionBar.with(this).keyboardEnable(true).init();
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.yuxihan.sdu.ui.account;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
|
||||
import com.yuxihan.sdu.R;
|
||||
import com.yuxihan.sdu.comm.BaseFragment;
|
||||
|
||||
public class AccountFragment extends BaseFragment {
|
||||
|
||||
private AccountViewModel accountViewModel;
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
accountViewModel =
|
||||
ViewModelProviders.of(this).get(AccountViewModel.class);
|
||||
View root = inflater.inflate(R.layout.fragment_account, container, false);
|
||||
final TextView textView = root.findViewById(R.id.text_notifications);
|
||||
accountViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable String s) {
|
||||
textView.setText(s);
|
||||
}
|
||||
});
|
||||
return root;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.yuxihan.sdu.ui.account;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
public class AccountViewModel extends ViewModel {
|
||||
|
||||
private MutableLiveData<String> mText;
|
||||
|
||||
public AccountViewModel() {
|
||||
mText = new MutableLiveData<>();
|
||||
mText.setValue("This is notifications fragment");
|
||||
}
|
||||
|
||||
public LiveData<String> getText() {
|
||||
return mText;
|
||||
}
|
||||
}
|
47
app/src/main/java/com/yuxihan/sdu/ui/grow/GrowFragment.java
Normal file
47
app/src/main/java/com/yuxihan/sdu/ui/grow/GrowFragment.java
Normal file
@ -0,0 +1,47 @@
|
||||
package com.yuxihan.sdu.ui.grow;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
|
||||
import com.yuxihan.sdu.R;
|
||||
import com.yuxihan.sdu.comm.BaseFragment;
|
||||
import com.yuxihan.sdu.gsv.SimpleDetailActivityMode2;
|
||||
|
||||
public class GrowFragment extends BaseFragment {
|
||||
|
||||
private GrowModel growModel;
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
growModel =
|
||||
ViewModelProviders.of(this).get(GrowModel.class);
|
||||
View root = inflater.inflate(R.layout.fragment_grow, container, false);
|
||||
final TextView textView = root.findViewById(R.id.text_home);
|
||||
growModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable String s) {
|
||||
textView.setText(s);
|
||||
}
|
||||
});
|
||||
initView(root);
|
||||
return root;
|
||||
}
|
||||
|
||||
private void initView(View root) {
|
||||
root.findViewById(R.id.text_home).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getContext(), SimpleDetailActivityMode2.class));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
19
app/src/main/java/com/yuxihan/sdu/ui/grow/GrowModel.java
Normal file
19
app/src/main/java/com/yuxihan/sdu/ui/grow/GrowModel.java
Normal file
@ -0,0 +1,19 @@
|
||||
package com.yuxihan.sdu.ui.grow;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
public class GrowModel extends ViewModel {
|
||||
|
||||
private MutableLiveData<String> mText;
|
||||
|
||||
public GrowModel() {
|
||||
mText = new MutableLiveData<>();
|
||||
mText.setValue("This is home fragment");
|
||||
}
|
||||
|
||||
public LiveData<String> getText() {
|
||||
return mText;
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.yuxihan.sdu.ui.vaccine;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
|
||||
import com.yuxihan.sdu.R;
|
||||
import com.yuxihan.sdu.comm.BaseFragment;
|
||||
|
||||
public class VaccineFragment extends BaseFragment {
|
||||
|
||||
private VaccineViewModel vaccineViewModel;
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
vaccineViewModel =
|
||||
ViewModelProviders.of(this).get(VaccineViewModel.class);
|
||||
View root = inflater.inflate(R.layout.fragment_vaccine, container, false);
|
||||
final TextView textView = root.findViewById(R.id.text_dashboard);
|
||||
vaccineViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable String s) {
|
||||
textView.setText(s);
|
||||
}
|
||||
});
|
||||
return root;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.yuxihan.sdu.ui.vaccine;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
public class VaccineViewModel extends ViewModel {
|
||||
|
||||
private MutableLiveData<String> mText;
|
||||
|
||||
public VaccineViewModel() {
|
||||
mText = new MutableLiveData<>();
|
||||
mText.setValue("This is dashboard fragment");
|
||||
}
|
||||
|
||||
public LiveData<String> getText() {
|
||||
return mText;
|
||||
}
|
||||
}
|
@ -1,39 +1,33 @@
|
||||
<?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"
|
||||
android:background="#AAAAFA"
|
||||
tools:context=".MainActivity">
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?actionBarSize"
|
||||
android:background="@drawable/shape"
|
||||
app:title="雨曦成长记录系统"
|
||||
app:titleTextColor="@android:color/white" />
|
||||
<TextView
|
||||
android:id="@+id/start_local_video"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/yuxi"
|
||||
android:textSize="40sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:labelVisibilityMode="labeled"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="46dp"
|
||||
android:id="@+id/bottomNavigationView"
|
||||
app:itemBackground="@color/white_bg"
|
||||
app:itemIconTint="@color/bottom_container_bg"
|
||||
app:itemTextColor="@color/bottom_container_bg"
|
||||
app:menu="@menu/menu_bottom_navigation_view" />
|
||||
|
||||
<?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:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="?attr/actionBarSize">
|
||||
|
||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
android:id="@+id/nav_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="0dp"
|
||||
android:layout_marginEnd="0dp"
|
||||
android:background="?android:attr/windowBackground"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:menu="@menu/bottom_nav_menu" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_host_fragment"
|
||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:defaultNavHost="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/nav_view"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:navGraph="@navigation/mobile_navigation" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
22
app/src/main/res/layout/fragment_account.xml
Normal file
22
app/src/main/res/layout/fragment_account.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?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=".ui.account.AccountFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_notifications"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
22
app/src/main/res/layout/fragment_grow.xml
Normal file
22
app/src/main/res/layout/fragment_grow.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?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=".ui.grow.GrowFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_home"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
22
app/src/main/res/layout/fragment_vaccine.xml
Normal file
22
app/src/main/res/layout/fragment_vaccine.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?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=".ui.vaccine.VaccineFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_dashboard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
19
app/src/main/res/menu/bottom_nav_menu.xml
Normal file
19
app/src/main/res/menu/bottom_nav_menu.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_home"
|
||||
android:icon="@drawable/ic_grow"
|
||||
android:title="@string/grow_record" />
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_dashboard"
|
||||
android:icon="@drawable/ic_vaccine"
|
||||
android:title="@string/vaccine_plan"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_notifications"
|
||||
android:icon="@drawable/ic_account"
|
||||
android:title="@string/account_info" />
|
||||
|
||||
</menu>
|
@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item
|
||||
android:id="@+id/item_bottom_1"
|
||||
android:enabled="true"
|
||||
android:icon="@drawable/ic_grow_record"
|
||||
android:title="@string/grow_record"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/item_bottom_2"
|
||||
android:enabled="true"
|
||||
android:icon="@drawable/ic_vaccine"
|
||||
android:title="@string/vaccine_plan"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/item_bottom_3"
|
||||
android:enabled="true"
|
||||
android:icon="@drawable/ic_account"
|
||||
android:title="@string/account_info"
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
</menu>
|
25
app/src/main/res/navigation/mobile_navigation.xml
Normal file
25
app/src/main/res/navigation/mobile_navigation.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<navigation 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:id="@+id/mobile_navigation"
|
||||
app:startDestination="@+id/navigation_home">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/navigation_home"
|
||||
android:name="com.yuxihan.sdu.ui.grow.GrowFragment"
|
||||
android:label="@string/title_home"
|
||||
tools:layout="@layout/fragment_grow" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/navigation_dashboard"
|
||||
android:name="com.yuxihan.sdu.ui.vaccine.VaccineFragment"
|
||||
android:label="@string/title_dashboard"
|
||||
tools:layout="@layout/fragment_vaccine" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/navigation_notifications"
|
||||
android:name="com.yuxihan.sdu.ui.account.AccountFragment"
|
||||
android:label="@string/title_notifications"
|
||||
tools:layout="@layout/fragment_account" />
|
||||
</navigation>
|
@ -11,7 +11,11 @@
|
||||
<string name="login_failed">"登录失败"</string>
|
||||
<string name="detail_text">简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介</string>
|
||||
<string name="yuxi">雨曦</string>
|
||||
<string name="grow_record">成长记录</string>
|
||||
<string name="account_info">账号信息</string>
|
||||
<string name="vaccine_plan">疫苗计划</string>
|
||||
<string name="grow_record">成长</string>
|
||||
<string name="account_info">账号</string>
|
||||
<string name="vaccine_plan">疫苗</string>
|
||||
<string name="title_activity_main2">Main2Activity</string>
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_dashboard">Dashboard</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user