Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds-android
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
云深项目组
beyond-clouds-android
Commits
3e7cdedb
Commit
3e7cdedb
authored
Mar 10, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加BaseActivity和BaseFragment
parent
1c2597cf
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
100 additions
and
53 deletions
+100
-53
app/src/main/java/cn/yunliyunwai/beyondclouds/MainActivity.java
+12
-11
app/src/main/java/cn/yunliyunwai/beyondclouds/base/BaseActivity.java
+26
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/base/BaseFragment.java
+30
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/DynamicFragment.java
+7
-9
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/HomeFragment.java
+5
-6
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/MyFragment.java
+8
-9
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/ProjectFragment.java
+4
-7
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/QAFragment.java
+6
-9
app/src/main/java/cn/yunliyunwai/beyondclouds/viewmodel/HomeFragmentViewModel.java
+1
-1
app/src/main/java/cn/yunliyunwai/beyondclouds/viewmodel/MainViewModel.java
+1
-1
No files found.
app/src/main/java/cn/yunliyunwai/beyondclouds/MainActivity.java
View file @
3e7cdedb
package
cn
.
yunliyunwai
.
beyondclouds
;
package
cn
.
yunliyunwai
.
beyondclouds
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.MenuItem
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProvider
;
import
android.os.Bundle
;
import
android.view.MenuItem
;
import
com.google.android.material.bottomnavigation.BottomNavigationView
;
import
com.google.android.material.bottomnavigation.BottomNavigationView
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
cn.yunliyunwai.beyondclouds.base.BaseActivity
;
import
cn.yunliyunwai.beyondclouds.databinding.ActivityMainBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.ActivityMainBinding
;
import
cn.yunliyunwai.beyondclouds.ui.DynamicFragment
;
import
cn.yunliyunwai.beyondclouds.ui.DynamicFragment
;
import
cn.yunliyunwai.beyondclouds.ui.HomeFragment
;
import
cn.yunliyunwai.beyondclouds.ui.HomeFragment
;
...
@@ -21,30 +22,30 @@ import cn.yunliyunwai.beyondclouds.ui.MyFragment;
...
@@ -21,30 +22,30 @@ import cn.yunliyunwai.beyondclouds.ui.MyFragment;
import
cn.yunliyunwai.beyondclouds.ui.ProjectFragment
;
import
cn.yunliyunwai.beyondclouds.ui.ProjectFragment
;
import
cn.yunliyunwai.beyondclouds.ui.QAFragment
;
import
cn.yunliyunwai.beyondclouds.ui.QAFragment
;
import
cn.yunliyunwai.beyondclouds.util.StatusBarUtils
;
import
cn.yunliyunwai.beyondclouds.util.StatusBarUtils
;
import
cn.yunliyunwai.beyondclouds.viewmodel.MainViewModel
;
public
class
MainActivity
extends
AppCompatActivity
implements
BottomNavigationView
.
OnNavigationItemSelectedListener
{
public
class
MainActivity
extends
BaseActivity
<
ActivityMainBinding
>
implements
BottomNavigationView
.
OnNavigationItemSelectedListener
{
private
List
<
Fragment
>
fragments
;
private
List
<
Fragment
>
fragments
;
private
MainViewModel
mainViewModel
;
private
MainViewModel
mainViewModel
;
private
ActivityMainBinding
binding
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
StatusBarUtils
.
setWindowStatusBarColor
(
this
,
R
.
color
.
colorStatusBar
);
StatusBarUtils
.
setWindowStatusBarColor
(
this
,
R
.
color
.
colorStatusBar
);
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
binding
=
ActivityMainBinding
.
inflate
(
getLayoutInflater
());
setContentView
(
binding
.
getRoot
());
mainViewModel
=
new
ViewModelProvider
(
this
,
MainViewModel
.
factory
).
get
(
MainViewModel
.
class
);
mainViewModel
=
new
ViewModelProvider
(
this
,
MainViewModel
.
factory
).
get
(
MainViewModel
.
class
);
initBottomNavigation
(
savedInstanceState
);
initBottomNavigation
(
savedInstanceState
);
}
}
@Override
protected
ActivityMainBinding
initDataBinding
(
LayoutInflater
inflater
)
{
return
ActivityMainBinding
.
inflate
(
inflater
);
}
private
void
initBottomNavigation
(
Bundle
savedInstanceState
)
{
private
void
initBottomNavigation
(
Bundle
savedInstanceState
)
{
fragments
=
new
ArrayList
<>(
5
);
fragments
=
new
ArrayList
<>(
5
);
fragments
.
add
(
new
HomeFragment
());
fragments
.
add
(
new
HomeFragment
());
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/base/BaseActivity.java
0 → 100644
View file @
3e7cdedb
package
cn
.
yunliyunwai
.
beyondclouds
.
base
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.viewbinding.ViewBinding
;
public
abstract
class
BaseActivity
<
B
extends
ViewBinding
>
extends
AppCompatActivity
{
protected
B
binding
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
binding
=
initDataBinding
(
getLayoutInflater
());
setContentView
(
binding
.
getRoot
());
}
/**
* 初始化dataBinding
* @return
*/
protected
abstract
B
initDataBinding
(
LayoutInflater
inflater
);
}
app/src/main/java/cn/yunliyunwai/beyondclouds/base/BaseFragment.java
0 → 100644
View file @
3e7cdedb
package
cn
.
yunliyunwai
.
beyondclouds
.
base
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewbinding.ViewBinding
;
public
abstract
class
BaseFragment
<
B
extends
ViewBinding
>
extends
Fragment
{
protected
B
binding
;
@Nullable
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
binding
=
initDataBinding
(
inflater
,
container
);
return
binding
.
getRoot
();
}
/**
* 初始化dataBinding
* @return
*/
protected
abstract
B
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
);
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/DynamicFragment.java
View file @
3e7cdedb
...
@@ -7,23 +7,21 @@ import android.view.ViewGroup;
...
@@ -7,23 +7,21 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentDynamicBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentDynamicBinding
;
public
class
DynamicFragment
extends
Fragment
{
public
class
DynamicFragment
extends
BaseFragment
<
FragmentDynamicBinding
>
{
private
FragmentDynamicBinding
binding
;
@Nullable
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
binding
=
FragmentDynamicBinding
.
inflate
(
inflater
,
container
,
false
);
return
binding
.
getRoot
();
}
@Override
@Override
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
}
}
@Override
protected
FragmentDynamicBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
return
FragmentDynamicBinding
.
inflate
(
inflater
,
container
,
false
);
}
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/HomeFragment.java
View file @
3e7cdedb
...
@@ -20,20 +20,19 @@ import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerInd
...
@@ -20,20 +20,19 @@ import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerInd
import
net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
;
import
net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.components.CommonPagerIndicator
;
import
cn.yunliyunwai.beyondclouds.components.CommonPagerIndicator
;
import
cn.yunliyunwai.beyondclouds.components.ScaleTransitionPagerTitleView
;
import
cn.yunliyunwai.beyondclouds.components.ScaleTransitionPagerTitleView
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentCategoryBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentCategoryBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentHomeBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentHomeBinding
;
import
cn.yunliyunwai.beyondclouds.viewmodel.HomeFragmentViewModel
;
public
class
HomeFragment
extends
Fragment
{
public
class
HomeFragment
extends
BaseFragment
<
FragmentHomeBinding
>
{
private
HomeFragmentViewModel
homeFragmentViewModel
=
null
;
private
HomeFragmentViewModel
homeFragmentViewModel
=
null
;
private
FragmentHomeBinding
binding
;
@Nullable
@Override
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
protected
FragmentHomeBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
binding
=
FragmentHomeBinding
.
inflate
(
inflater
,
container
,
false
);
return
FragmentHomeBinding
.
inflate
(
inflater
,
container
,
false
);
return
binding
.
getRoot
();
}
}
@Override
@Override
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/MyFragment.java
View file @
3e7cdedb
...
@@ -7,23 +7,22 @@ import android.view.ViewGroup;
...
@@ -7,23 +7,22 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentMyBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentMyBinding
;
public
class
MyFragment
extends
Fragment
{
public
class
MyFragment
extends
BaseFragment
<
FragmentMyBinding
>
{
private
FragmentMyBinding
binding
;
@Nullable
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
binding
=
FragmentMyBinding
.
inflate
(
inflater
,
container
,
false
);
return
binding
.
getRoot
();
}
@Override
@Override
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
}
}
@Override
protected
FragmentMyBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
return
FragmentMyBinding
.
inflate
(
inflater
,
container
,
false
);
}
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/ProjectFragment.java
View file @
3e7cdedb
...
@@ -7,19 +7,16 @@ import android.view.ViewGroup;
...
@@ -7,19 +7,16 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentProjectBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentProjectBinding
;
public
class
ProjectFragment
extends
Fragment
{
public
class
ProjectFragment
extends
BaseFragment
<
FragmentProjectBinding
>
{
private
FragmentProjectBinding
binding
;
@Nullable
@Override
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
protected
FragmentProjectBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
binding
=
FragmentProjectBinding
.
inflate
(
inflater
,
container
,
false
);
return
FragmentProjectBinding
.
inflate
(
inflater
,
container
,
false
);
return
binding
.
getRoot
();
}
}
@Override
@Override
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/QAFragment.java
View file @
3e7cdedb
...
@@ -7,23 +7,20 @@ import android.view.ViewGroup;
...
@@ -7,23 +7,20 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentQaBinding
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentQaBinding
;
public
class
QAFragment
extends
Fragment
{
public
class
QAFragment
extends
BaseFragment
<
FragmentQaBinding
>
{
private
FragmentQaBinding
binding
;
@Nullable
@Override
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
binding
=
FragmentQaBinding
.
inflate
(
inflater
,
container
,
false
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
return
binding
.
getRoot
();
}
}
@Override
@Override
p
ublic
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
p
rotected
FragmentQaBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
super
.
onViewCreated
(
view
,
savedInstanceStat
e
);
return
FragmentQaBinding
.
inflate
(
inflater
,
container
,
fals
e
);
}
}
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/
ui
/HomeFragmentViewModel.java
→
app/src/main/java/cn/yunliyunwai/beyondclouds/
viewmodel
/HomeFragmentViewModel.java
View file @
3e7cdedb
package
cn
.
yunliyunwai
.
beyondclouds
.
ui
;
package
cn
.
yunliyunwai
.
beyondclouds
.
viewmodel
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.LiveData
;
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/MainViewModel.java
→
app/src/main/java/cn/yunliyunwai/beyondclouds/
viewmodel/
MainViewModel.java
View file @
3e7cdedb
package
cn
.
yunliyunwai
.
beyondclouds
;
package
cn
.
yunliyunwai
.
beyondclouds
.
viewmodel
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.ViewModel
;
import
androidx.lifecycle.ViewModel
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment