我在"首选项"屏幕上的支持库中使用新的"材质设计"工具栏时遇到问题.
我有一个settings.xml文件,如下所示:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/AddingItems"
android:key="pref_key_storage_settings">
<ListPreference
android:key="pref_key_new_items"
android:title="@string/LocationOfNewItems"
android:summary="@string/LocationOfNewItemsSummary"
android:entries="@array/new_items_entry"
android:entryValues="@array/new_item_entry_value"
android:defaultValue="1"/>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
字符串在别处定义.
android android-actionbar android-actionbar-compat android-5.0-lollipop android-toolbar
在我升级到支持库v21之后,我的ActionBar PreferenceActivity就消失了.
我是否错过了我的主题中的一些属性来再次激活它?黑色ActionBar我遇到了类似的麻烦.
我还尝试通过添加Toolbar到根布局来添加它有点hackish ,但是这没有按预期工作.
android preferenceactivity android-support-library android-5.0-lollipop
与M版本一起,有新的支持库.其中一个似乎非常有用的是v7 Preference Support库.
它似乎没有PreferenceActivity或类似的东西,我们如何将它集成到我们的应用程序?
我想从我的应用程序中删除ActionBarSherlock并将其替换为标准的ActionBarCompat.
android actionbarsherlock android-actionbar android-actionbar-compat

在我的应用程序中,我使用来自Google(位于<sdk>/samples/android-<version>/ActionBarCompat)的新动作栏兼容性示例,该示例效果很好.我唯一的问题就是将此应用于我PreferenceActivity,以获得类似Android Market中的设置的屏幕(见图片).
要填充ActionBar图标,每个图标都Activity必须扩展ActionBarActivity.问题是我Activity已经扩展PreferenceActivity并且在Java类中不能扩展多个类.
必须有一种方法来与... ActionBar一起PreferenceScreen.如果有人能为这个共同问题提供解决方案,我会很高兴.
PS:如何向PreferenceScreen添加按钮的解决方案不适合,因为ActionBar它实际上是标题栏,所以这更像是Java而不是布局.
java android android-preferences android-layout android-actionbar
我在旧的(pre-L)设备上获得了一个Resources $ notfoundexception.我在下面包含完整的堆栈跟踪.
我的支持库版本是最新版本(24.1.0),我在gradle文件中包含了以下内容:
vectorDrawables.useSupportLibrary = true
Run Code Online (Sandbox Code Playgroud)
我的基本主题是noactionbar主题 - "Theme.AppCompat.Light.NoActionBar"
崩溃发生在我的代码中的这一行,我在支持工具栏中引用后退箭头,以便稍后更改它的颜色:
@SuppressLint("PrivateResource") final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_material);
Run Code Online (Sandbox Code Playgroud)
可能是什么原因造成的?此代码适用于L或以上的所有用户.
07-19 22:36:57.029 9330-9330/mypkg E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to resume activity {mypkg/mypkg.activites.myActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2619)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2647)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4929)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
at android.content.res.Resources.loadDrawable(Resources.java:1957) …Run Code Online (Sandbox Code Playgroud) android android-resources android-support-library android-toolbar android-vectordrawable
我正在尝试Settings Activity使用a PreferenceActivity.问题是ActionBar无论我做什么都不会出现.
我试过getSupportActionBar,getActionBar,setActionBar.什么都行不通.我用ActionBars 看到其他应用程序设置.他们不用PreferenceActivity吗?
java android android-preferences android-activity android-actionbar
我正在寻找使用AppCompatLibrary和API 8从Fragment获取ActionBar实例的最简单方法.
已经尝试过像
getActivity().getSupportActionBar()
Run Code Online (Sandbox Code Playgroud)
但没有运气.
android android-appcompat android-fragments android-actionbar
我的Android应用程序中有一个SettingsActivity.最初没有Actionbar,所以我实现了这个:
settings_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:navigationContentDescription="@string/abc_action_bar_up_description"
android:background="?attr/colorPrimary"
app:navigationIcon="?attr/homeAsUpIndicator"
app:title="@string/action_settings"
/>
Run Code Online (Sandbox Code Playgroud)
SettingsActivity.java
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.settings_toolbar, root, false);
root.addView(bar, 0); // insert at top
bar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好但仅适用于第一个PreferenceScreen.如果我有一个嵌套的PreferenceScreen,那么就没有ActionBar.我怎样才能实现这一点,在嵌套的PreferenceScreen上还有带后退按钮的ActionBar?
它应该与API15 +和AppCombat兼容