Bav*_*ilo 4 android toolbar spinner android-appcompat
我最近更新到API 24,现在我在工具栏内的AppCompatSpinner上遇到了文本颜色问题.
这就是我所说的,请注意顶部的"Pils"是如何黑色的.Pre API 24这是白色的.(此外,在不在API 24上的设备上运行此APP,文本显示为白色应该.)
这是我的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion '24.0.0'
defaultConfig {
applicationId 'com.baviloworks.braumeister'
minSdkVersion 17
targetSdkVersion 24
versionCode 100
versionName '1.0.0'
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:support-v4:24.0.0'
compile 'com.android.support:design:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.github.PhilJay:MPAndroidChart:v2.2.3'
}
Run Code Online (Sandbox Code Playgroud)
这是我的style.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="colorPrimaryDark">@color/DarkBlue</item>
<item name="colorAccent">@color/Green</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="customTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">13sp</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
这是我的工具栏的XML:
<android.support.v7.widget.Toolbar
android:id="@+id/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/Blue"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/Recipe_Selection_Spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:popupBackground="@drawable/spinner_rounded_corners"
android:minWidth="175dp"/>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我正确的方向,那就太好了!
谢谢 :)
我现在试过这个:
cursorAdapter = new SimpleCursorAdapter(getActivity().getApplicationContext(), R.layout.custom_spinner, dbData, recipeNames, recipeTo, 0);
cursorAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
recipeLoadSelection.setAdapter(cursorAdapter);
Run Code Online (Sandbox Code Playgroud)
这是自定义微调器:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff" />
Run Code Online (Sandbox Code Playgroud)
但现在文本根本不会出现
a)无论你做什么,都不要使用应用程序上下文来夸大视图.如果您正在使用SimpleCursorAdapter它,则使用构造函数中的上下文在内部对视图进行膨胀.
b)使用工具栏的主题上下文来显示其中的小部件.您的工具栏会覆盖android:theme属性.您将希望使用此上下文来扩充该工具栏中的任何视图.
意思是代替getActivity().getApplicationContext()写getSupportActionBar().getThemedContext(),它会起作用.这是正确的方法,它不硬编码文本颜色.
| 归档时间: |
|
| 查看次数: |
3035 次 |
| 最近记录: |