我在前Lollipop设备上使用AppCompat作为Material设计的后端.不知何故,支持toolbar覆盖status bar并在其上投下阴影,就像状态栏在工具栏后面一样.在我的Android 5.0.2手机上测试过.
这是代码:
活动布局
<android.support.design.widget.CoordinatorLayout
android:id="@+id/base_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/base_appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/PGTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/base_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/PGTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
主题-V21
<style name="PGTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/base_color_2</item>
<item name="colorPrimaryDark">@color/base_color_1</item>
<item name="colorAccent">@color/base_color_2</item>
<item name="android:colorButtonNormal">@color/base_color_2</item>
<item name="android:textViewStyle">@style/PGTheme.TextView</item>
<item name="android:editTextStyle">@style/PGTheme.EditText</item>
<item name="android:buttonStyle">@style/PGTheme.Button</item>
</style>
<style name="PGTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
我一直在尝试根据其类/包职责将我的项目拆分为模块。不过,我似乎找不到任何传统架构来指导我。
基本上,我的课程细分如下
app (module)
- Application
- Activities
- Fragments
- Views
- Data
Run Code Online (Sandbox Code Playgroud)
活动和片段充当视图的控制器。我想做的是将所有内容分成以下内容:
app (module)
- Application
- Activities
- Fragments
dependencies {
- ui
- data
}
ui (module)
- Views
data (module)
- Data
Run Code Online (Sandbox Code Playgroud)
问题是app模块和data模块虽然很不一样,但是后端服务器端都依赖同一个第三方库。此外,活动和片段取决于数据模块。
将项目拆分为单独模块的良好做法是什么?在 Android/Android Studio/Gradle 中,是否可以有具有相同依赖项的不同模块?是否有可能有两个相互依赖的模块?