[英]You need to use a Theme.AppCompat theme
是的,我知道,此问题在这里一次又一次地发布。 但是我找不到解决我特定问题的方法。
每次尝试制作Snackbar时,我的应用都会崩溃
您需要在设计库中使用Theme.AppCompat主题(或后代)。
好。 我知道:没有代码就无法调试,所以:
调用和抛出错误的行:
Snackbar.make(
new CoordinatorLayout(getApplicationContext()),
"Logged out.",
Snackbar.LENGTH_SHORT).show();
类的定义:
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
清单的开始
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
哦,是的:AppTheme和AppTheme.NoActionbar都是Theme.AppCompat ...的父级。
如果您需要其他代码,请告诉我。
为什么需要带有getApplicationContext()
CoordinatorLayout
?
您甚至可以使其与new CoordinatorLayout(MainActivity.this)
。 (这使用Activity
Context
而不是Application
Context
。
但是您应该保持简单。 尝试这个:
Snackbar.make(findViewById(android.R.id.content), "Logged out.", Snackbar.LENGTH_SHORT).show();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.