【问题标题】:Hide ActionBar Android隐藏ActionBar Android
【发布时间】:2021-03-12 13:20:35
【问题描述】:

我不知道为什么这段代码不起作用它应该很容易我寻找了 asnwers 并且他们都说相同。我想在我的 android 应用程序中隐藏操作栏。这是我的 Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          android:versionCode="1" 
          android:versionName="1.0" 
          package="com.companyname.nucleo">
  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
  <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" 
               android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
  </application>

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

这是我的styles.xml:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name = "android:windowActionBar">false</item>
        <item name = "android:windowNoTitle">true</item>
    </style>

</resources>

感谢您的帮助。

【问题讨论】:

    标签: android xml android-studio xamarin


    【解决方案1】:

    在你的风格中添加这个。

    <style name="AppTheme.NoActionBar">
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>
    
        </style>
    

    并将其添加到清单中的活动标记中。

    android:theme="@style/AppTheme.NoActionBar"
    

    例子:

    <activity android:name=".activity.YourActivityName"
               android:screenOrientation="portrait"
                android:theme="@style/AppTheme.NoActionBar"
               android:windowSoftInputMode="adjustPan"/>
    

    【讨论】:

    • 我编辑我的代码。但它仍然无法正常工作。我不知道为什么。这应该很容易。
    【解决方案2】:

    如果你想隐藏actionbar,可以试试下面的代码:

    1. 从 styles.xml 中永久隐藏操作栏。

    导航到 resources > values > styles.xml 并更改您的 Base 应用程序主题,如下所述。

     <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    
    1. 使用自定义主题隐藏操作栏

    有时您希望以自定义方式为您的应用设置样式,并且需要隐藏操作栏。一个简单方便的方法是创建另一个样式扩展自定义主题,并在主题中添加两个项目。

    <style name="MyTheme" parent="@android:style/Theme.Material.Light.DarkActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:colorPrimary">#5A8622</item>
    
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    

    然后在 Mainactivity.cs 中使用这种样式:

    [Activity(Label = "@string/app_name", Theme = "@style/MyTheme", MainLauncher = true)]
    public class **MainActivity : Activity**
    {
    

    请注意:如果要使用第二种方法隐藏actionbar,MainActivity是继承Activity。

    【讨论】:

    • 我编辑我的代码。但它仍然无法正常工作。我不知道为什么。这应该很容易。
    • @DavidZarzosoMoreno 你是 MelbinKJoseph 吗?如果是,请使用 MelbinKJoseph 账号回复。并且你可以在github上提供一个样本,我会在我身边帮你测试。
    • 不,我是大卫。我解决了。感谢您的帮助
    【解决方案3】:

    使用 C# Attirbute 在 Xamarin 上设置主题

    // write theme here to apply
    [Activity(Theme = "@style/Theme.MyTheme.NoActionBar")
    public partial class MainActivity : AppCompatActivity
    {
       ...
    }
    

    【讨论】:

      【解决方案4】:

      只需更改 parent 属性以添加“...NoActionBar”。

      像这样:

          <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
              <!-- Customize your theme here. -->
              <item name="colorPrimary">@color/colorPrimary</item>
              <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
              <item name="colorAccent">@color/colorAccent</item>
          </style>
      

      【讨论】:

      • 请将您的回复标记为答案以关闭您的帖子。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多