📜  如何在 Android 应用中使用 FadingActionBar 库?

📅  最后修改于: 2022-05-13 01:58:44.757000             🧑  作者: Mango

如何在 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 存储库:渐变操作栏库