Tim*_*ele 53 android android-layout android-activity
我有一个显示文本的简单应用程序.
该应用程序以一个带有几个选项的主屏幕开始(例如,一个信息按钮,可以显示有关该应用程序的信息,一个浏览按钮,允许用户查看可以显示的所有单个文本).主按钮指向另一个显示文本的屏幕.通过向左和向右滑动,他可以看到不同的文本段落.这是该应用程序的主要目的.
目前我已经实施了ActionBar.我的MainActivity.Java扩展了AppCompatActivity.应用程序中的所有内容都在此活动中.
现在我想这样做,所以ActionBar只出现在"显示"模式下,而不是在启动屏幕或"信息"/"浏览"模式下.
是否可以在应用程序的一个部分中安装ActionBar,而在应用程序的另一部分中没有 ActionBar?(并将其全部保留在相同的活动中?)
我一直在努力做到这一点,但没有用.如果可以,我接下来应该尝试什么?
到目前为止,我尝试过以下方面:
1)创建这个主题
<style name="Theme.AppCompat.NoActionBar" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
并将其应用于MainActivity ...
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar" >
Run Code Online (Sandbox Code Playgroud)
....执行此操作后,ActionBar仍然存在.(这来自这个SO帖子(android:windowNoTitle不会隐藏动作栏与appcompat-v7 21.0.0)
2)另一种尝试是将此添加到onCreate.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
getActionBar().hide();
setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)
这来自于研究这篇SO帖子:( 如何在创建活动之前隐藏操作栏,然后再次显示它?)
有什么建议?
Eug*_*nec 88
在您想要没有操作栏的活动中,使用从Theme.AppCompat.NoActionBar或派生的主题 Theme.AppCompat.Light.NoActionBar.除非您提供自己的通道,否则此活动将永远无法显示操作栏setSupportActionBar(Toolbar).
在活动要具有操作栏使用源自一个主题Theme.AppCompat,Theme.AppCompat.Light或Theme.AppCompat.Light.DarkActionBar.这将允许您动态隐藏或显示此类活动中的操作栏.您将无法使用这些主题提供自己的操作栏.
当有程序兼容性-V7行动酒吧工作,你需要通过调用来获得它getSupportActionBar()的替代getActionBar().
the*_*e64 53
您可以以编程方式隐藏和显示ActionBar.
隐藏
getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)
显示
getSupportActionBar().show();
Run Code Online (Sandbox Code Playgroud)
它也可以从碎片中完成
隐藏
getActivity().getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)
显示
getActivity().getSupportActionBar().show();
Run Code Online (Sandbox Code Playgroud)
编辑:
正如@RenniePet所说,
你需要调用((AppCompatActivity)getActivity()).getSupportActionBar(),如果你使用Toolbar的ActionBar.
Pan*_*kaj 11
将您的活动扩展为AppCompatActivity,然后使用操作栏: -
getSupportActionBar().hide(); // for hiding
getSupportActionBar().show(); // for showing
Run Code Online (Sandbox Code Playgroud)
小智 5
<style name="Theme.AppCompat.NoActionBar" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在项目windowActionbar.just中删除android,如下所示:
<style name="Theme.AppCompat.NoActionBar" parent="Theme.AppCompat.Light">
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我希望它可以帮到你.
| 归档时间: |
|
| 查看次数: |
72541 次 |
| 最近记录: |