- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个非常简单的应用程序,它有 1 个操作栏。我正在使用 AppCompat 库以模糊统一的方式支持 Android 2.1 或更高版本。
我正在按照 Google 指南进行操作,但遇到了一些困难。我有点菜鸟所以请多多包涵 :)
我的主类扩展了 Activity,所以我创建了一个扩展 ActionBarActivity 的新类。
package com.example.simpledice;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
public class DiceActionBar extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dice_action_bar);
ActionBar actionBar = getSupportActionBar();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.dice_action_bar, menu);
return true;
}
}
然后我这样添加:
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DiceActionBar diceActionBar = new DiceActionBar();
这会编译和部署但没有操作栏。我也尝试过与 fragment 类似的东西但没有快乐(甚至无法让它们编译!)。我只向操作栏添加了一个项目,所以就目前而言,它看起来有点矫枉过正。
谁能告诉我哪里出错了?
编辑
根据 Tanis.7x 答案更新代码。不幸的是,ActionBar 仍然没有显示。更新代码:
public class MainActivity extends ActionBarActivity
{
private ActionBar actionBar;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar = getSupportActionBar();
actionBar.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
}
list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.simpledice"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
android:uiOptions="splitActionBarWhenNarrow">
<activity
android:name="com.example.simpledice.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
res/menu/main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:icon="@drawable/mute"
android:title="@string/muteOption"
android:showAsAction="ifRoom"
/>
</menu>
最佳答案
ActionBarActivity 是一个Activity,从ActionBarActivity documentation可以看出.简单地创建一个新的 Activity 什么都不做;您需要启动新的 DiceActionBar
Activity,或者更改您使用 ActionBarActivity 的方式。
在这种情况下,您需要更改 MainActivity 以扩展 ActionBarActivity 而不是 Activity。因此 MainActivity 应该是这样的:
public class MainActivity extends ActionBarActivity {
// The rest of your MainActivity code
}
关于android - 如何使用 AppCompat 从 Android 中的单独类添加 ActionBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17928948/
升级/重构到 AndroidX 后我收到这个错误androidx.appcompat.appcompat.R 不存在在代码中显示 appcompat 符号无法解析 最佳答案 我遇到了和你一样的错误信息
我在使用 AppCompat 时突然想到,我一直在布局 XML 文件中使用 Button 而不是 android.support.v7.widget.AppCompatButton 之类的东西。我通过
我刚刚升级到 AppCompat v23,发现 setSupportProgressBarIndeterminateVisibility 已弃用。但是,我无法找到替代方案,文档对此似乎非常薄弱。 如果
可以像这样使用 CoordinatorLayout 和自定义 FloatingActionButton: Futuresimple - FloatingActionButton 或 Clans - F
我正忙着尝试实现支持库,以便我可以使用 AppCompatActivty 据我所知,我把所有东西都放在了正确的地方。但我仍然收到错误。 样式.xml
有以下 Theme.AppCompat 类: Theme.AppCompat Theme.AppCompat.Light Theme.AppCompat.Light.DarkActionBar The
我更新了compileSDkversion从 27 日到 28 日。 添加于 gradle.properties文件: android.useAndroidX=true android.enableJ
我正在尝试构建一个 react native 应用程序,但它返回此错误: > Could not resolve all task dependencies for configuration ':a
我正在迁移到 androidX,但我收到: Could not find androidx.appcompat:appcompat:1.0.2. Required by: project :a
我正在尝试升级我的 gradle。当我将 appcompat 从 1.0.2 更新到 1.1.0 时,我的 webview 在某些手机上不再工作。 (API 21 和 22)。 有没有一种聪明的方法可
我是 Android 开发的绝对初学者,并尝试构建测试自动化来测试移动应用程序。经过数周的 IntelliJ 设置后,我仍然面临问题,其中包括以下问题。 因为我使用的是 SDK ver 29,我被告知
我正在使用 v7 appcompat 支持库。操作项在 actionBar 中显示的工作在较新或较旧的设备上都很好。 但是,我没有在 API 7 上得到溢出。例如: appco
最新链接app-compat这是1.1.0 . 将我的应用程序升级到最新版本后 app-compat我的语言设置在 以下的手机上停止工作API 24 (粗略地说,肯定不适用于 API 21 及以下版本
这里的 iOS 开发人员被扔进了 Android 项目的狼群中。我收到一些错误代码,它们都表示类似于 ThemeUtils: View class androidx.appcompat.widget.
这里的 iOS 开发人员被扔进了 Android 项目的狼群中。我收到一些错误代码,它们都表示类似于 ThemeUtils: View class androidx.appcompat.widget.
我最近将我的应用程序升级为 Material 主题。但是,我在 4.2.2 三星平板电脑上遇到崩溃。堆栈跟踪(在下面发布)告诉我我没有使用 Theme.AppCompat 的后代,尽管我相信我是。该应
我正在使用 AppCompat 22.1.1 Base.Widget.AppCompat.Button 和 Widget.AppCompat.Button 有什么区别? 最佳答案 在 AppCompa
我已经在多个地方看到了这个问题。问题似乎与过去的gradle版本3和android studio版本3的更新有关。每当我将依赖项更改为较新的版本时,我都会不断收到错误消息: Could not fin
我已将此资源添加到我的项目中,它向我显示了一个警告。 我该如何解决? The problem still continues (I don't know, if I
我为建议行定义了一个布局,但在将 AppCompat 库更新到 22.1 后,忽略了 styles.xml 中定义的布局。 这是我的 styles.xml 文件(已简化): @style/S
我是一名优秀的程序员,十分优秀!