mirror of
https://github.com/MinimalBible/MinimalBible
synced 2024-11-05 07:38:20 -05:00
Fix the spinner drop-down button
Requires re-theming the Fragment. I feel like there's got to be a better way, but I have no idea what it would be.
This commit is contained in:
parent
d49c5e593c
commit
c7ee841a9c
@ -1,10 +1,12 @@
|
||||
package org.bspeice.minimalbible.activity.downloader;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -88,9 +90,20 @@ public class BookListFragment extends BaseFragment {
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
this.inflater = inflater;
|
||||
View rootView = inflater.inflate(R.layout.fragment_download, container,
|
||||
/*
|
||||
In order to get the spinner arrow button to have the right color, we need to modify
|
||||
android:textColorSecondary of the parent theme. For whatever reason, applying this
|
||||
modification in the XML doesn't work. However, I don't want to have a different theme for
|
||||
the entire activity, so what the below accomplishes is the same as specifying
|
||||
android:theme in the AndroidManifest for an activity.
|
||||
So if you ever change the below code: PLEASE, make sure the language selector colors
|
||||
are correct.
|
||||
*/
|
||||
Context ctx = new ContextThemeWrapper(getActivity(), R.style.MinimalBible_DownloadList);
|
||||
this.inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
View rootView = this.inflater.inflate(R.layout.fragment_download, container,
|
||||
false);
|
||||
|
||||
ButterKnife.inject(this, rootView);
|
||||
displayModules();
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spn_available_languages"
|
||||
style="@style/MinimalBible.Spinner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="?attr/actionBarSize" />
|
||||
|
@ -42,16 +42,10 @@
|
||||
<item name="android:textColorSecondary">@color/settingsTextColorSecondary</item>
|
||||
</style>
|
||||
|
||||
<!-- Clear the background (including the drop-down arrow) for spinners.
|
||||
Some quick documentation: The spinner is a 9-patch controlled by android:background.
|
||||
I have no idea why it's using the "dark" spinner drop-down, as everything points
|
||||
to it using the light spinner, being that the activity inherits the application theme,
|
||||
and the application theme is light by proxy of MinimalBible -> MinimalBibleBase.
|
||||
However, when I set the Download activity theme to Light.NoActionBar, the spinner color
|
||||
corrects itself (while messing up a couple other things).
|
||||
TODO: Why the heck is the spinner drop-down white? -->
|
||||
<style name="MinimalBibleBase.Spinner">
|
||||
<item name="android:background">@android:color/transparent</item>
|
||||
<!-- Fix the drop-down button for spinners. Please see BookListFragment.onCreateView
|
||||
for further documentation on how this is used. -->
|
||||
<style name="MinimalBibleBase.DownloadList" parent="MinimalBibleBase">
|
||||
<item name="android:textColorSecondary">@color/textColor</item>
|
||||
</style>
|
||||
|
||||
<!-- Actual application style. Allows selective over-riding while inheriting
|
||||
@ -62,7 +56,7 @@
|
||||
|
||||
<style name="MinimalBible.NavigationDrawer.Title" parent="MinimalBibleBase.NavigationDrawer.Title" />
|
||||
|
||||
<style name="MinimalBible.Spinner" parent="MinimalBibleBase.Spinner" />
|
||||
<style name="MinimalBible.DownloadList" parent="MinimalBibleBase.DownloadList" />
|
||||
|
||||
<style name="MinimalBible.Settings" parent="MinimalBibleBase.Settings" />
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user