📌  相关文章
📜  如何在 Android 的 ActionBar 中添加自定义视图?

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

如何在 Android 的 ActionBar 中添加自定义视图?

在 Android 中,Action Bar 或应用程序栏是屏幕上应用程序顶部的专用空间,用于指示应用程序或活动的名称。操作栏可帮助用户在应用程序中导航或定位自己。下图显示了一个示例操作栏。

Android 中的操作栏

在本文中,我们将向您展示如何通过在 Android 中创建和显示自定义视图来自定义操作栏。 IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

第 2 步:创建自定义视图 my_layout.xml

导航到app > res > layout并通过右键单击文件夹并选择适当的选项来创建新的 Android 资源布局。创建所需的视图。我们创建了一个如下所示的。我们创建了一个水平线性布局,它由 TextView 和 Button 平等共享。

XML


  
    
  
        
  
        


XML


  
    
  


Kotlin
package org.geeksforgeeks.customactionbar
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.appcompat.app.ActionBar
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
          
        // Calling the support action bar and setting it to custom
        this.supportActionBar!!.displayOptions = ActionBar.DISPLAY_SHOW_CUSTOM
        
        // Displaying the custom layout in the ActionBar
        supportActionBar!!.setDisplayShowCustomEnabled(true)
        supportActionBar!!.setCustomView(R.layout.my_layout)
    }
}


第 3 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。无需更改,因为此文件对更改操作栏属性没有任何意义。

XML



  
    
  

第 4 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package org.geeksforgeeks.customactionbar
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.appcompat.app.ActionBar
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
          
        // Calling the support action bar and setting it to custom
        this.supportActionBar!!.displayOptions = ActionBar.DISPLAY_SHOW_CUSTOM
        
        // Displaying the custom layout in the ActionBar
        supportActionBar!!.setDisplayShowCustomEnabled(true)
        supportActionBar!!.setCustomView(R.layout.my_layout)
    }
}

输出:

您可以在下面看到我们创建的自定义布局显示在操作栏中。

输出