android studio 显示中显示的操作栏,但在我的实际应用中没有
Posted
技术标签:
【中文标题】android studio 显示中显示的操作栏,但在我的实际应用中没有【英文标题】:Action bar shown in display of android studio but not in my actual app 【发布时间】:2016-07-16 06:31:50 【问题描述】:大家好,我有一个包含两个活动的应用程序,在第二个活动中我有一个操作栏,我的应用程序的标题显示没有问题。 但是,在我的启动器活动中,该栏显示在 android studio 显示中,但未显示在实际应用中... 知道发生了什么吗? 这是我的 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
tools:context=".Menu_Activity">
<ListView
android:id="@+id/list"
android:layout_
android:layout_
android:layout_weight="0.99"
android:dividerHeight="2px">
</ListView>
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
<Button
android:layout_
android:layout_
android:text="Download content"
android:textColor="#FFFFFF"
android:id="@+id/button"
android:background="@drawable/buttonshape" />
</LinearLayout>
这里是显示栏的 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:gravity="center">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_
android:layout_
android:layout_centerInParent="true"
/>
<ListView
android:id="@+id/list"
android:layout_
android:layout_
android:divider="#FF000080"
android:dividerHeight="2px">
</ListView>
</LinearLayout>
除了在这两种情况下扩展 AppCompatActivity 之外,我没有对 java 文件中的 bar 做任何事情。
这里是样式文件:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
感谢您的帮助。
【问题讨论】:
Android Studio 可以使用任何可用的主题向您展示您的布局。特别是当您使用工具时:上下文。可能是 Android Studio 选择了错误的主题。您的清单文件中的活动和应用程序有哪些主题? 我在这两个 XML 文件中都没有看到android.support.v7.widget.Toolbar
。为什么会在 Android Studio 预览窗口中看到它们?
【参考方案1】:
可能性 1:
如果您的应用扩展了Activity
,请将其更改为AppCompatActivity
。
可能性 2:
您确定没有名为“styles.xml”的不同版本的不同文件吗?确保它们都没有名为AppTheme.NoActionBar
的主题。
您运行应用程序的设备将为其版本获取更合适的主题。例如,如果您有一个名为 styles.xml(v21)
的文件,Lollipop 或更高版本的设备将使用它。
【讨论】:
【参考方案2】:我在想你想以某种方式在你的活动中显示一个列表视图,其中的内容无法显示操作栏。好吧,这就是我为我所做的。在 main 方法中,我扩展了 AppCompactActivity,在方法本身中,我将 listView 声明为像 ListView listView;
这样的变量,然后在主对象的 onCreate 方法中,您只需使用 listView = (ListView) findViewById(R.id.thelistid)
将其连接到列表的 id之后,我简单地调用了应该用 listView.setAdapter(nameOfYourAdapter)
的内容填充列表的适配器希望这会有所帮助!
【讨论】:
以上是关于android studio 显示中显示的操作栏,但在我的实际应用中没有的主要内容,如果未能解决你的问题,请参考以下文章
自己的自定义图标未显示在底部导航栏android studio中
尽管它显示在任务栏上,但 Android Studio 模拟器无法正常工作
android studio环境下创建menu问题(标题栏显示问题)