- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序使用 android Holo.NoActionBar 主题来隐藏操作栏并显示 Activity 。
这在模拟器和我的 Nexus 4 上运行良好,设备操作栏被隐藏。
但是,当它在 HTC one 上运行时,它会忽略 Android 主题设置并显示操作栏。它也可能会显示在其他一些具有自定义 OEM 皮肤的三星或索尼设备上。我已确保 Activity java 文件或 Android list 文件中没有对操作栏或菜单选项的引用。
所以我用谷歌搜索了如何隐藏操作栏并尝试了这个 How to hide action bar before activity is created, and then show it again?
并编写了代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getActionBar().hide();
setContentView(R.layout.activity_my);
和http://developer.android.com/guide/topics/ui/actionbar.html
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
setContentView(R.layout.activity_my);
但是,在这两种情况下,IDE 都会显示一条警告,指出方法调用“actionBar.hide()”可能会产生“java.lang.NullPointerException”
“此检查分析方法控制和数据流,以报告始终为真或假的可能条件、其值被静态证明为恒定的表达式以及可能导致可空性契约(Contract)违规的情况”
虽然我是android开发的新手,但我知道NullPointerException不应该被忽略。
但是在这个 Activity 中,隐藏操作栏很重要。
如何修改此代码以使其不易出错?
更新:为什么 Holo.NoActionBar 不能与 HTC one 一起使用。它仍然显示操作栏,而安装相同的 apk 在 Nexus 4 上不显示操作栏
Android list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxxxxxx.xxxxxxxxx" >
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MyActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
.
.
lots of non-relevant activities
.
.
<activity
android:name=".Setting"
android:label="@string/title_activity_setting"
android:parentActivityName=".MyActivity"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.xxxxxxxxx.xxxxxxxxxx.MyActivity" />
</activity>
<activity
android:name=".t1"
android:screenOrientation="portrait"
>
</activity>
<activity
android:name=".t2"
android:screenOrientation="portrait"
>
</activity>
<activity
android:name=".t3"
android:screenOrientation="portrait"
>
</activity>
<activity
android:name=".t4"
android:screenOrientation="portrait"
>
</activity>
<activity
android:name=".t5"
android:label="@string/title_activity_t5"
android:screenOrientation="portrait"
android:parentActivityName=".MyActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.xxxxxxxxxx.xxxxxxxxxx.MyActivity" />
</activity>
</application>
</manifest>
t1.java,没有 Actionbar.hide()
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.RelativeLayout;
public class t1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_t1);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.rel1);
rl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent newactivity= new Intent(getApplicationContext(), t2.class);
startActivity(newactivity);
}
});
}
}
和 t2,t3,t4,t5 有类似的代码
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.xxxxxxxxxx.xxxxxxxx.t1"
android:background="@drawable/finalp2"
android:id="@+id/rel1">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_marginTop="40dp"
android:background="@drawable/bat"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="40dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageViewbottom"
android:background="@drawable/bat"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="40dp"
android:layout_marginBottom="42dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView2"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:background="@android:drawable/ic_media_pause" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4"
android:layout_below="@+id/imageView"
android:layout_toRightOf="@+id/imageView"
android:layout_toEndOf="@+id/imageView"
android:layout_marginTop="112dp"
android:background="@drawable/ball1" />
</RelativeLayout>
我如何选择主题:http://s16.postimg.org/6vuyjhwth/noactionbar.png
我还没有创建任何其他 style.xml 文件,我错过了什么吗?如果我确实错过了一些东西,它在 Nexus 4 上工作得如何?为什么它在 IDE 中显示时没有操作栏?
我的应用使用 SDK 版本 15 及更高版本
最佳答案
您的 Activity t1
在AndroidManifest.xml
中没有应用任何主题,因此它使用您的应用程序的默认主题 - 在您的情况下,@ style/AppTheme
其中包括一个操作栏。在 list 中设置主题:
<activity
android:name=".t1"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
>
</activity>
或者专门为无操作栏的情况制作一个新主题:
<style name="AppTheme.NoActionBar" parent="android:Theme.Holo.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
并使用它:
<activity
android:name=".t1"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
>
</activity>
关于java - 如何使用 Holo.NoActionBar 主题隐藏 HTC one 上的操作栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354157/
我正在使用 HoloEverywhere-1.6.8。 我有一个基于 Holo.Theme 的自定义主题。 ... 我遇到了下面的崩溃,但它只出现在以下设备上: Galaxy Tab 10.1 P
我正在为 Android 使用 Keyboardsurfer 的 Crouton 类。它使用全息颜色作为背景颜色 (android.R.color.holo_red_light)。 现在这些颜色只会在
我有一个继承自 Theme.Holo.Light.DarkActionBar 的自定义主题,我正在尝试更改主题的 tabWidget 样式,使其看起来像是 Theme.Holo Dark。 我已经在我
所以我有一个应用程序是 Holo Light with Dark Actionbar,每当我在 EditText 中复制和粘贴某些内容时,图标都是白色的,因此您看不到它们。屏幕截图位于下方。有什么办法
最后我能够成功地实现库 Sherlock 和 Holo 。现在,在创建我自己的项目并在 list 文件中将主题设置为: android:theme="@style/Theme.Sherlock.Lig
有谁知道 Holo 主题聚焦按钮可绘制的位置在哪里? 我想将其设置为某些事件的 View ,但找不到它。 最佳答案 1.首先在您的 android sdk 平台文件夹中找到以下位置 - yourand
android:minSdkVersion="14"android:targetSdkVersion="18" 理论上很简单。 holo.light 的背景颜色是什么,因为我想对其他东西使用相同的颜色
在 api >= version 11 的设备上应用 holo 主题时我有点担心我的自定义按钮变大了(高度,宽度似乎是一样的) 这是没有holo的 这是全息他们 谁能告诉我这是什么原因造成的?以及是否
谁能帮我找到主题 Holo 等同于 @android:style/Theme.Translucent.NoTitleBar 我试过用 @android:style/Theme.Holo.Dialog
这个问题在这里已经有了答案: Spinner does not wrap text -- is this an Android bug? (15 个答案) 关闭 9 年前。 我最近刚刚在我的 And
谁能告诉我在Holo中选中的列表项对应的颜色代码?另外,在 Holo 中生成长按列表项过渡的颜色是什么?我知道全息颜色是在 colors.xml 中定义的,但我不确定哪些用于选择和长按列表项转换。提前
我有一个以 Holo.Light 主题为主题的应用。 AOSP ICS、Honeycomb 表现良好,但在 Samsung TouchWiz Honeycomb 上,EditText 背景、复选框等更
我目前正在使用带深色操作栏的 Holo 灯,我想更改我的应用以完全使用 Holo。我从 更改了 styles.xml ""到 "" 我在 values-14 内更改了 styles.xml ""到 "
您好,我想为我的应用程序添加全息主题,但是当我检查我的初始图形布局时,它似乎不起作用并且我的应用程序崩溃了。我想为整个应用程序添加全息主题。此外,我想摆脱启动画面之前的屏幕。我不知道该怎么做
Android Theme holo_dark 中 Normal 状态下的 Button 使用的是什么颜色? 我已阅读 this question并添加了与颜色名称相对应的彩色图像,但没有一个与 Bu
我只想将 Holo EditText 的背景更改为绿色。 是这样的:http://tinypic.com/view.php?pic=2n20k8l&s=8#.U6hMQ_ldWSo 这可能是一个愚蠢的
如果您将应用的主题设置为 Holo.Light,那么您可以获得浅色弹出菜单、深色文本等,这正是我想要的。但是,我的操作栏使用的是自定义的较深颜色,我希望溢出菜单(点)恢复为白色(就像您使用 Theme
我想更改 android Holo 主题的默认进度条颜色并保持默认行为。 我的目标是保持进度条不变(保持所有默认行为)并且只将其颜色更改为紫色。我想改变水平和不确定。 这是我到目前为止所做的: pro
我想构建一个选项卡式界面,所以我从 API 演示示例项目中获取了 Tabs3 View ,但是由于某种原因,我的应用程序没有应用 Holo 主题 It should look like this Bu
我已经构建了支持 android:minSdkVersion="7" android:targetSdkVersion="15" 的 android 应用程序。我使用继承 Android 默认主题的自
我是一名优秀的程序员,十分优秀!