我制作了一个加载屏幕/启动画面并取消了styles.xml中的操作栏(使用NoActionBar)。但是我想在加载屏幕完成后让Action Bar回来。我尝试了一种方法,但在我应用此方法之后,应用程序在我为启动画面设置的活动时间后停止。所以知道我想知道我能做些什么才能发挥作用。
This is my code for the splash screen:
package com.example.jan.jhmtest;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.TextView;
public class StartSreeen extends AppCompatActivity {
private TextView tv;
private ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_sreeen);
tv = (TextView) findViewById(R.id.textView2);
iv = (ImageView) findViewById(R.id.imageView5);
Animation myanmin = AnimationUtils.loadAnimation(this, R.anim.mytransition);
tv.startAnimation(myanmin);
iv.startAnimation(myanmin);
final Intent i = new Intent(this, MainActivity.class);
Thread timer = new Thread(){
public void run(){
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
finally {
startActivity(i);
finish();
}
}
};
timer.start();
}
}
这是主要活动的代码
package com.example.jan.jhmtest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar =(Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle(getResources().getString(R.string.app_name));
}
}
答案 0 :(得分:1)
您的应用未渲染工具栏的原因是您没有将工具栏设置为操作栏。听起来令人困惑,但请耐心等待,并遵循这些步骤。
您设置
parent =“@ style / Theme.AppCompat.Light.NoActionBar”作为全局应用设置的父主题,这就是你的启动没有操作栏的原因。这就是你想要的
现在,对于屏幕的其余部分,您需要工具栏作为操作栏,所以我们假设您在此布局中添加工具栏
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@color/material_animations_primary"
android:elevation="5dp">
现在你的代码我可以看到了像这样正确初始化工具栏
toolbar =(Toolbar) findViewById(R.id.toolbar);
但您错误的做法是不将此工具栏设置为支持操作栏 N.B ToolBar是支持库的一部分,它是替换Actionbar以使actionBar向后兼容
<强> FIX 强>
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
这会将您的工具栏渲染为操作栏 有关详细信息,请参阅此博客文章 - &gt; Using the App Toolbar