为什么 ActionBarActivity 被弃用

2023-11-25

我新安装了 Android Studio,并开始编写一个活动来扩展ActionBarActivity它表明它已被弃用。那么我该如何为我的活动设置操作栏呢? 入门培训还使用ActionBarActivity没有提及它已被弃用。


ActionBar 从那时起就被弃用了Toolbar被介绍了。Toolbar可以被视为任何操作栏的“超集”。所以‘老’ActionBar现在是一个例子Toolbar。如果您想要类似的功能,但没有弃用警告,请执行以下操作:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
    toolbar.setTitle(R.string.app_name);
    setSupportActionBar(toolbar);
}

您需要定义Toolbar在你的布局 xml 中:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>

通过这个新功能,您可以创建自己的自定义ActionBar让 Android 来完成繁重的工作。只需创建您自己的自定义视图,该视图扩展自Toolbar.


另外,你应该使用AppCompatActivity代替ActionBarActivity,它是在最新版本的appcompat库中引入的。所以不要忘记更新 gradle

compile 'com.android.support:appcompat-v7:22.1.1'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 ActionBarActivity 被弃用 的相关文章

  • Firebase 管理 SDK Android

    在 Android 中初始化 Firebase Admin SDK 的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedIns
  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • Android第一次动画不流畅

    我正在尝试一个动画将 imageView 从屏幕底部滑动到屏幕中心 但是当我第一次执行此动画时 它不平滑 但当第二次执行动画时 它是正常且平滑的 我几乎尝试了所有方法 但无法解决我的问题 这是我的动画文件
  • Android 应用程序在后台运行时保存数据

    目前我正在开发 xmmp 客户端 当应用程序位于前台时 该客户端工作得很好 但由于事实上 当应用程序处于后台时 我在 Application 类中保存了大量数据 复杂的 ArrayList 字符串和布尔值作为公共静态 每个字段都被垃圾收集
  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 如何将安卓手机从睡眠状态唤醒?

    如何以编程方式将 Android 手机从睡眠状态唤醒 挂起至内存 我不想获取任何唤醒锁 这意味着手机在禁用 CPU 的情况下进入 真正的 睡眠状态 我想我可以使用某种RTC 实时时钟 机制 有人有例子吗 Thanks 为了让Activity
  • Android libgdx 首选项丢失

    我在 Libgdx 引擎中创建了 Android 游戏 一段时间后 我注意到在某些应用程序杀手中杀死该应用程序后 或者如果我在 Android 设置中执行 强制关闭 操作 我保存到首选项中的游戏选项就会丢失 有办法防止这种情况吗 我从来没有
  • 在 Google Analytics 中跟踪应用程序版本

    我正在使用谷歌分析模块 https marketplace appcelerator com apps 5081 2014113336 https marketplace appcelerator com apps 5081 2014113
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • Firebase:如何在Android应用程序中设置默认通知渠道?

    如何设置default通知渠道通知消息当应用程序在后台运行时会出现什么情况 默认情况下 这些消息使用 杂项 通道 如你看到的在官方文档中 https firebase google com docs cloud messaging andr
  • 应用程序未安装在 Android 模拟器上

    我正在 android Geocoder 中开发一个应用程序 当我运行该应用程序时 它会显示 2011 01 11 11 08 13 GeoTourProject 自动目标模式 使用现有模拟器 emulator 5554 运行兼容的 AVD
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • 当手机旋转(方向改变)时如何最好地重新创建标记/折线

    背景 开发一个使用 Android Google Map v2 的本机 Android 应用程序 使用android support v4 app FragmentActivity 在 Android v2 2 上运行 客观的 在更改手机方
  • Android - 将 ImageView 保存到具有全分辨率图像的文件

    我将图像放入 ImageView 中 并实现了多点触控来调整 ImageView 中的图像大小和移动图像 现在我需要将调整大小的图像保存到图像文件中 我已经尝试过 getDrawingCache 但该图像具有 ImageView 的大小 我
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index

随机推荐

  • 防止 WinForm AcceptButton 处理 Return 键

    我有一个带有按钮的表单AcceptButton属性 以便在用户按 Return 键时发生逻辑并关闭表单 在该表单上 我显示一个动态创建的TextBox当用户双击某个区域时出现 然后当用户按回车键时隐藏 当用户按下 Return 键时 如何防
  • 在 OS X 上创建类似窗口的菜单

    我想创建一个相同类型的托盘菜单 例如这个应用程序 因为它在使用node webkit nw js的应用程序列表中 所以我认为这是可能的 我浏览了所有文档 但找不到任何有关如何实现这一目标的信息 谷歌搜索也没有什么结果 也许你们中的一个人以前
  • 无法实例化类:org.apache.naming.java.javaURLContextFactory

    我正在研究 Junit 测试文件 该文件加载 SQL 文件并将其加载到 Oracle 中 import java io BufferedReader import java io File import java io FileReader
  • 嵌套点击处理程序有什么不好吗?

    有人向我提到过这一点 但我从未找到任何文件来支持这一说法 在应用程序中嵌套单击处理程序是否不好 例如 div on click function Do things p on click function Do things 如果这是不好的
  • 使用 Javascript 设置日期时间格式

    我有一个日期 时间字符串 例如2012 01 13 04 37 20但我想将其转换为dd mm yyyy hh mm 我怎样才能做到这一点 我正在使用以下代码 但它抛出异常 var now 2012 01 13 04 37 20 var d
  • Regex 使用 C# 将 Markdown 内联链接转换为 HTML 链接

    我正在用 C 编写一个非常基本的 Markdown 到 HTML 转换器 我设法编写正则表达式来转换粗体和斜体文本 但我正在努力想出一段正则表达式 它可以将 markdown 链接转换为 html 中的链接标签 例如 This is a l
  • JavaScript 文化敏感的货币格式

    如何在 JavaScript 中以文化意识的方式格式化货币相关数据 所以我知道这是一个老问题 但如果其他人出现寻找类似的答案 在现代 JavaScript 中你可以使用 new Intl NumberFormat de DE style c
  • 编写自定义异常类需要考虑哪些因素?

    什么时候自定义异常类最有价值 是否存在应该或不应该使用它们的情况 有什么好处 相关问题 抛出异常的性能注意事项 您是否为特定问题编写例外情况或一般例外情况 要问自己的问题 谁会抓住它 如果没有人 那么您实际上并不需要自定义异常 你会把它扔到
  • 比较真假混淆

    我对测试分配为 False True 的值有些困惑 要检查真实值 我们可以简单地 a True if a 假的怎么样 a False if a lt or should it be if a False or if not a 来自Pyth
  • 确定 iCloud 键值存储的可用性

    我正在开发使用 iCloud Key Value 存储的 OSX 10 8 应用程序 确实如此not使用文档存储 我想确定 iCloud 键值存储是否可供用户使用 我试图使用云 BOOL isCloudAvailable id curren
  • 在 EOF 之前的任何地方都找不到字符串终止符“str”

    为什么我会收到此错误 use strict use warnings my str lt
  • EpiServer - 以编程方式将块添加到内容区域

    我有一个内容区域 其中有一些块 这些块的某些属性必须使用 SQL 查询中的数据进行初始化 因此在控制器中我有这样的内容 foreach ObjectType item in MyList BlockData currentObject ne
  • 在 cfquery 中使用 cachedwithin 属性

    当您在 cfquery 中使用 cachedwithin 属性时 它如何将查询存储在内存中 它是否仅按您分配给查询的名称存储它 例如 如果在我的索引页面上我缓存一个查询一个小时并将其命名为 getPeople 则不同页面 或同一页面 上具有
  • Inno Setup - 正确使用[类型]、[组件]和[任务]

    我正在编写一个脚本 要求用户选择要安装应用程序的哪些部分 仅应用程序 仅数据库引擎 仅数据或这些的任意组合 我知道我应该使用 Components 部分来定义这些 但我对类型 组件和任务之间的相互作用感到困惑 首先 我认为 Tasks 用于
  • 使用stretchableImageWithLeftCapWidth调整图像大小

    我正在尝试使用stretchableImageWithLeftCapWidth调整图像大小 它在模拟器上工作 但在设备上 出现垂直的绿色条 我尝试使用 imageNamed initWithContentsOfFile 和 image Wi
  • 由于字典太大而导致 System.OutOfMemoryException

    我在字典中保存了一个带有值的大缓存IEnumerable
  • C 中的 const 限定符和 C++ 中的 const 限定符有什么区别?

    我找到了一个comment用户的R C 和 C 不是同一种语言 特别是 Cconst与C 无关const 我知道 两者之间的一个区别constC 中的限定符和constC 中的限定符是其默认链接 在命名空间范围内声明的对象constC 中的
  • 具有从列派生的动态表名称的左连接

    我是 PostgreSQL 的新手 我想知道是否可以使用number从表tbc作为左连接中表名的一部分 pa number 例如 如果数字是 456887 我想要与表 pa456887 进行左连接 像这样的东西 SELECT tdc cpa
  • jQuery:如何在表单输入中添加换行符?

    我正在以标准 HTML 表单收集信息 例如 我有
  • 为什么 ActionBarActivity 被弃用

    我新安装了 Android Studio 并开始编写一个活动来扩展ActionBarActivity它表明它已被弃用 那么我该如何为我的活动设置操作栏呢 入门培训还使用ActionBarActivity没有提及它已被弃用 ActionBar