View imageOverlayView =
LayoutInflater.from(getApplicationContext()).
inflate(R.layout.layout_image_overlay, null);
new ImageViewer.Builder(getApplicationContext(), imageURLs)
.setStartPosition(0)
.hideStatusBar(false)
.setOverlayView(imageOverlayView)
.show();
我正在使用此ImageView
构建器在全屏视图中加载图片,但我在编译时遇到上述错误。我使用的活动从AppCompatActivity
扩展而来。我也尝试从Activity扩展活动,它不起作用。
非常感谢您在这件事上的时间和帮助。
答案 0 :(得分:1)
错误:
You need to use a Theme.AppCompat theme (or descendant) with this activity
表示您需要为从AppCompat主题派生的活动使用样式。它通常在res/values/styles.xml
。如果你没有创建这样的东西:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
然后,将其用于您的活动,方法是将其添加到带有android:theme="@style/AppTheme"
的AndroidManifest.xml中(请阅读评论):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sample.testcode">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Or you can use specific theme for the activity -->
<activity
android:name=".anotherActivity"
android:label="@string/app_name" >
android:theme="@style/AppTheme" >
</activity>
</application>
</manifest>
答案 1 :(得分:0)
.hideStatusBar(假)
正在创建您的问题。
您必须确保AppTheme具有已定义的状态和工具栏,并且活动使用主题。
默认情况下,Android Studio会生成基本主题。
答案 2 :(得分:0)
您在代码部分(hideStatusBar)中使用了AppCompat作为主题,但您在manifest或style.xml中使用了另一个主题。不一致,因为你在两个地方使用不同的主题所以它说你需要使用它。