如何在 Android 应用中使用 FadingActionBar 库?
FadingActionBar是一个实现漂亮的淡入淡出动作条效果的库。当我们开始向下滚动时,ActionBar 会逐渐消失,而当我们向上滚动时,它会变得完全不透明。它还支持三种最常用的操作栏实现:stock (API 11+)、ActionBarSherlock 和 ActionBarCompat。在本文中,我们将使用Java语言在 Android 应用程序中实现这个库。下面给出了一个示例 GIF,以了解我们将在本文中做什么。
分步实施
第 1 步:创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。
第二步:添加库依赖
导航到Gradle Scripts > build.gradle(Module:app) ,在依赖项部分添加库,然后同步项目。
dependencies {
implementation 'com.github.manuelpeinado.fadingactionbar:fadingactionbar:3.1.2'
}
第 3 步:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并参考以下代码。下面是activity_main.xml文件的代码。
XML
XML
XML
XML
Java
import android.app.Activity;
import android.os.Bundle;
import com.manuelpeinado.fadingactionbar.FadingActionBarHelper;
// extend the MainActivity to Activity
// instead of AppCompatActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Adding FadingActionBar in the Activity
FadingActionBarHelper helper = new FadingActionBarHelper()
.actionBarBackground(R.drawable.ab_background)
// actionBarBackground sets the background
// of actionBar in collapsed form
.headerLayout(R.layout.header)
// headerLayout sets the header layout of
// actionBar in expanded form
.contentLayout(R.layout.activity_main);
// contentLayout sets the main
// content below action bar
setContentView(helper.createView(this));
helper.initActionBar(this);
}
}
第 4 步:使用 styles.xml 文件
导航到app > res > values > styles.xml并参考以下代码。下面是styles.xml文件的代码。
XML
第 5 步:使用themes.xml 文件
- 导航到应用 > res > 值
- 右键单击值并选择新建 > 值资源文件
- 现在将出现一个对话框,然后将文件名添加为主题,然后按确定。
- 下面是themes.xml文件的代码。
XML
第 6 步:使用 header.xml 文件
- 导航到应用程序 > res > 布局
- 右键单击布局并选择新建 > 布局资源文件
- 现在将出现一个对话框,然后将文件名添加为标题并按确定。
- 下面是header.xml文件的代码。
XML
第 7 步:使用 AndroidManifest.xml 文件
导航到app > manifests > AndroidManifests.xml并在 MainActivity 标记内添加半透明主题。
android:theme="@style/AppTheme.TranslucentActionBar"
第 8 步:使用 MainActivity。Java
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity 的代码。 Java文件。代码中添加了注释以更详细地理解代码。
Java
import android.app.Activity;
import android.os.Bundle;
import com.manuelpeinado.fadingactionbar.FadingActionBarHelper;
// extend the MainActivity to Activity
// instead of AppCompatActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Adding FadingActionBar in the Activity
FadingActionBarHelper helper = new FadingActionBarHelper()
.actionBarBackground(R.drawable.ab_background)
// actionBarBackground sets the background
// of actionBar in collapsed form
.headerLayout(R.layout.header)
// headerLayout sets the header layout of
// actionBar in expanded form
.contentLayout(R.layout.activity_main);
// contentLayout sets the main
// content below action bar
setContentView(helper.createView(this));
helper.initActionBar(this);
}
}
输出:
GitHub 存储库:渐变操作栏库