当前位置: 首页 > 知识库问答 >
问题:

自定义标题栏功能适用于模拟器,但不适用于设备

印曜灿
2023-03-14

我是Android开发的新手

我试图在应用程序中创建自定义标题栏。它正在模拟器中工作。但是当我在我的设备上运行这个应用程序时…它停止了(没有加载)

自定义标题栏的 XML 代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/left_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:gravity="center"
    android:background="@drawable/bg2"
    android:text="Welcome Screen"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColorHighlight="#ffffd4"
    android:textAllCaps="false"
    android:typeface="serif"
    android:textColor="#960000"
    android:textStyle="italic" />

</RelativeLayout>

我的活动类中的代码

public void onCreate(Bundle b){
    super.onCreate(b);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.welcome);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitlebar);

模拟器中没有问题...它在那里工作正常,但在真实设备中不起作用,如果有人请告诉我解决方案。

共有2个答案

聂涛
2023-03-14

请从您的项目 res 文件夹中删除值-v11 和值-v14 文件夹,然后尝试以下代码

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * @author android
 * 
 */
public class MainActivity extends Activity {

    /**
     * 
     */
    private TextView textView;

    /*
     * (non-Javadoc)
     * 
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().requestFeature(Window.FEATURE_CUSTOM_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.custom_title_layout);
        textView = (TextView) getWindow().findViewById(R.id.titleText);
        System.out.println("Text View is : " + textView);
        textView.setText("My Custom Title");
        ImageView titleImageView = (ImageView) getWindow().findViewById(
                R.id.customTitleImage);
        titleImageView.setOnTouchListener(new OnTouchListener() {
            /*
             * (non-Javadoc)
             * 
             * @see android.view.View.OnTouchListener#onTouch(android.view.View,
             * android.view.MotionEvent)
             */
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Toast.makeText(MainActivity.this,
                        "Title Image On Touch Event Occured.",
                        Toast.LENGTH_LONG).show();
                return true;
            }
        });
    }
}
马弘益
2023-03-14

在< code>onCreate()方法中,尝试如下操作:

super.onCreate(savedInstanceState);
final boolean customTitleSupported = 
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if (customTitleSupported) {
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
        R.layout.titlebar);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if (myTitleText != null) {
    myTitleText.setText("CUSTOM TITLE");
}

首先检查是否支持自定义标题。

 类似资料:
  • 代码如下: 这是适配器,我在这里为列表做了自己的设计(< code>R.layout.zalistu),它在仿真器中工作,但在设备上它给我一个错误(应用程序意外停止),如果我使用< code>simple_list_item_1,那么它在仿真器和我的设备上都可以正常工作。 这里是R:layout.zalistu: 日志猫: 我设备上的Android版本是2.3.7,模拟器上的版本是4.0.4(AP

  • 编辑:Android Studio很慢地告诉我已弃用。由于某种原因,直到编写并运行代码很久之后,它才告诉我。然而,问题仍然存在。我只是想在我的问题中加入这个发现。 我有一个充当指南针的ImageView。在真实设备上一切都正常,但在我的模拟器上,扩展控件对ImageView没有影响。 如果我在模拟器上使用谷歌地图,我可以看到指南针在工作。如果我的应用程序在真实设备上运行,为什么它的工作原理不一样?

  • 我在一个网站上工作,遇到了一个问题,点击我的“删除”链接会出现一个错误页面。在localhost上运行良好-无法理解为什么在Heroku站点上会有所不同。 有人知道这是怎么回事吗? 我的“图片”控制器: 我的图片/新视图: 以下是我尝试删除图片时的heroku日志(从导航到新图片页面开始(同一视图中的新建和编辑功能): 2015-11-15T16:13:49.189857 00:00 heroku

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。

  • 我有一个Flume组件在监听Syslog流。我做了一个自定义的拦截器来修改调用,但它不起作用。我做错了什么?谢谢你,Andrea 拦截器是一个编译良好的JAR文件,位于@FLUME_HOME/bin目录中 系统将事件记录在文件中而不修改它们,这是相关的DEBUG日志: