Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get Holo Light theme working in my Xamarin application

I'm trying to get my app to use the Holo.Light theme. I've created a custom theme for Holo and put it in

Resourses\values-v11\FsmTheme.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <style name="FsmTheme" parent="@android:style/Theme.Holo.Light">
    </style>
</resources>

I've also created one for older versions and put it in

Resourses\values\FsmTheme.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <style name="FsmTheme" parent="@android:style/Theme.Light.NoTitleBar">
    </style>
</resources>

Then I added it to my AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="001" android:versionName="001" package="futurestate.app.droid">
    <uses-sdk android:minSdkVersion="12" android:targetSdkVersion="14" />
    <application android:label="FutureState App Demo" android:icon="@drawable/Icon" Theme="@style/FsmTheme" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

I'm not sure what else I would need to do to get the theme to take in the app.

enter image description here

like image 819
Chase Florell Avatar asked Dec 04 '13 17:12

Chase Florell


People also ask

How do I apply a dark theme in xamarin?

Set the current user themeUserAppTheme = OSAppTheme. Dark; In this example, the application is set to use the theme defined for the system dark mode, regardless of which system theme is currently operational. Set the UserAppTheme property to OSAppTheme.

How does xamarin form handle dark mode?

First, we populate a list with the options the user can choose from: the device default, or a light or dark theme. Then we define a command which handles tapping on an option from the list. The command immediately sets the theme and stores this preference using the awesome Xamarin. Essentials Preferences APIs.


1 Answers

You can use Attributes to modify values in the AndroidManifest.xml, for example this changes the theme to holo light:

[Activity(
    Label = "Foobar",
    MainLauncher = true,
    Theme = "@android:style/Theme.Holo.Light"
)]
public class MainActivity : Activity { ... }

You can also do this at the Application level.

But for your specific problem, it seems that you are naming your style files FsmTheme.xml. That is incorrect. You must name any styling resources styles.xml, so if you rename your files to Resources/values/styles.xml and Resources/values-v11/styles.xml everything should work as expected.

like image 111
Brett Duncavage Avatar answered Oct 10 '22 07:10

Brett Duncavage