编程显示android操作栏,需要帮助排除故障



我有我的themes.xml文件设置为NoActionBar,但需要在1个活动中显示我的操作栏,我尝试过使用getSupportActionBar().show()但是应用程序崩溃了。我尝试过的其他替代方案是改变清单文件中活动的主题,但它也不起作用。需要一些帮助排除故障

themes.xml文件

<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Test" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>

android manifest部分

<activity android:name=".JoinSession" android:theme="@style/ThemeOverlay.AppCompat.DayNight.ActionBar"/>

我想显示的活动操作栏

public class JoinSession extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_join_session);
getSupportActionBar().show();

在清单中添加这一行:

<application
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
/>

在你的活动布局文件中:

<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

在你的JoinSession活动中:

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);

最新更新