ActionBarでSearchViewのスタイルを設定しようとしています。 私は、具体的SearchViewを持っていますが、私はSearchViewのActionViewはウィンドウを含むテーマ設定を無視します
"#windowid[platform=android]":{
theme:'customTheme'
}
と、ウィンドウの作成時にスタイルを設定した場合でもSearchViewが実際にそれを無視するビューのスタイルを作成しました。ウィンドウの他のすべての要素は、SearchView以外にも色付けされています。
回避策はありますか?
おかげ アレックス
MOREの情報を提供するために、EDIT:
は、これは私がTSSファイルでSearchView
var search = Ti.UI.Android.createSearchView({
hintText: args.hintText,
iconifiedByDefault:false,
iconified:false,
//backgroundColor:'white'
width:Ti.UI.FILL,
softKeyboardOnFocus:Titanium.UI.Android.SOFT_KEYBOARD_SHOW_ON_FOCUS
});
$.ricercaFermata.softKeyboardOnFocus=Titanium.UI.Android.SOFT_KEYBOARD_SHOW_ON_FOCUS;
$.ricercaFermata.addEventListener('open', function (e) {
var abx = require('com.alcoapps.actionbarextras');
var actionBar = e.source.activity.actionBar;
if (actionBar) {
actionBar.displayHomeAsUp = true;
actionBar.onHomeIconItemSelected = function() {
chiudi();
};
}
e.source.activity.onCreateOptionsMenu = function(ev) {
var menu = ev.menu;
Ti.API.info('this menu '+menu);
var menuItem = menu.add({
title : "Cerca",
actionView:search,
showAsAction : Ti.Android.SHOW_AS_ACTION_ALWAYS
});
abx.setSearchView({
searchView: search,
backgroundColor: Alloy.CFG.colorePrincipale,
textColor: 'white',
hintColor: 'white',
});
};
e.source.activity.invalidateOptionsMenu();
});
を追加jsのファイル内のコードである私は、コードを使用してI正しいテーマを示す前に投稿されています。
これはcustom_theme.xmlファイルの内容です:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="checkTheme" parent="@style/Theme.AppCompat.Light">
<item name="colorPrimary">#F2660D</item>
<!--<item name="colorPrimary">#00517D</item>-->
<item name="colorPrimaryDark">#00517D</item>
<item name="colorAccent">#F2660D</item>
<item name="colorControlNormal">#F2660D</item>
<item name="colorControlActivated">#F2660D</item>
<item name="colorControlHighlight">#F2660D</item>
<item name="colorSwitchThumbNormal">#00517D</item>
<item name="android:colorButtonNormal">#00517D</item>
<item name="android:colorEdgeEffect">#00517D</item>
<item name="android:buttonTint">#00517D</item>
<!--<item name="android:windowActionBarOverlay">true</item>-->
<!-- Support library compatibility -->
<!--<item name="windowActionBarOverlay">true</item>-->
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:textColorSecondary">#F2660D</item>
<!-- Support library compatibility -->
<!--<item name="textColorPrimary">#1565C0</item>-->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:actionMenuTextColor">#FFFFFF</item>
<item name="actionMenuTextColor">#FFFFFF</item>
<item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
<item name="android:progressBarStyle">@style/test</item>
<item name="android:windowContentOverlay">@null</item>
<item name="actionBarStyle">@style/Myactionbar</item>
<item name="android:editTextStyle">@style/Widget.EditText.Color</item>
<!--<item name="android:searchViewStyle">@style/AppTheme.SearchView</item>
<item name="searchViewStyle">@style/AppTheme.SearchView</item>-->
<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
<item name="android:timePickerDialogTheme">@style/MyTimePickerDialogTheme</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<!--<item name="android:checkboxStyle">@style/CheckBox</item>-->
</style>
<style name="materialTheme" parent="@style/Theme.AppCompat.Light">
<item name="colorPrimary">#00517D</item>
<item name="colorPrimaryDark">#00517D</item>
<item name="colorAccent">#F2660D</item>
<item name="colorControlNormal">#ffffff</item>
<item name="colorControlActivated">#F2660D</item>
<item name="colorControlHighlight">#F2660D</item>
<item name="colorSwitchThumbNormal">#00517D</item>
<item name="android:colorButtonNormal">#00517D</item>
<item name="android:colorEdgeEffect">#00517D</item>
<item name="android:buttonTint">#00517D</item>
<!--<item name="android:windowActionBarOverlay">true</item>-->
<!-- Support library compatibility -->
<!--<item name="windowActionBarOverlay">true</item>-->
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:textColorSecondary">#F2660D</item>
<!-- Support library compatibility -->
<!--<item name="textColorPrimary">#1565C0</item>-->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:actionMenuTextColor">#FFFFFF</item>
<item name="actionMenuTextColor">#FFFFFF</item>
<item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
<item name="android:progressBarStyle">@style/test</item>
<item name="android:windowContentOverlay">@null</item>
<item name="actionBarStyle">@style/Myactionbar</item>
<item name="android:editTextStyle">@style/Widget.EditText.Color</item>
<!--<item name="android:searchViewStyle">@style/AppTheme.SearchView</item>-->
<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
<item name="android:timePickerDialogTheme">@style/MyTimePickerDialogTheme</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<!--<item name="android:checkboxStyle">@style/CheckBox</item>-->
</style>
<style name="CheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<!--<item name="android:background">@drawable/checkbox_bg</item>
<item name="android:button">@drawable/checkbox_custom_states</item>-->
<item name="colorControlNormal">#F2660D</item>
</style>
<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#00517D</item>
<item name="android:textColorPrimary">#00517D</item>
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
</style>
<style name="MyTimePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#00517D</item>
<item name="colorPrimary">#00517D</item>
<item name="android:textColorPrimary">#00517D</item>
<item name="android:timePickerStyle">@style/MyTimePickerStyle</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">#00517D</item>
<item name="android:calendarTextColor">#00517D</item>
<item name="android:dayOfWeekBackground">#00517D</item>
<item name="android:yearListSelectorColor">#F2660D</item>
<item name="android:datePickerMode">calendar</item>
<item name="android:minDate">01/01/2000</item>
</style>
<style name="MyTimePickerStyle" parent="@android:style/Widget.Material.Light.TimePicker">
<item name="android:headerBackground">#00517D</item>
<item name="android:calendarTextColor">#00517D</item>
<item name="android:dayOfWeekBackground">#00517D</item>
<item name="android:yearListSelectorColor">#00517D</item>
</style>
<style name="AppTheme.SearchView" parent="@android:style/Widget.Material.Light.SearchView">
<item name="colorControlNormal">#ff0000</item>
<item name="android:textColor">#ffffff</item>
</style>
<style name="test" parent="Widget.AppCompat.ProgressBar">
<item name="android:progressTint">#F2660D</item>
</style>
<style name="Myactionbar" parent="Widget.AppCompat.ActionBar.Solid">
<item name="android:elevation">0dp</item>
<item name="elevation">0dp</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">#FFFFFF</item>
</style>
<style name="myCustomMenuTextApearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">#FFFFFF</item>
</style>
<style name="Widget.EditText.Color" parent="@android:style/Widget.EditText">
<item name="android:textColor">#00517D</item>
</style>
<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">#00517D</item>
<item name="android:textColorPrimary">#00517D</item>
<!--<item name="android:background">#5fa3d0</item>-->
</style>
</resources>
は基本的には、メインテーマは、私が選択されていないときアンドロイド4つのデバイスのチェックボックスを着色するcheckThemeを使用(またはそれらが白く見える)、materialThemeです。
materialThemeでは、SearchViewの拡大アイコンが白ですが、メインテーマcheckThemeとして設定すると、拡大鏡はオレンジ色になります。 materialThemeのSearchViewでウィンドウのテーマを変更した場合、拡大鏡はオレンジ色のままで、期待どおりに白くなりません。
最高で問題を説明してくれることを祈っています。ありがとう!
メインの投稿にいくつかの情報を追加しました。ご協力いただきありがとうございます! – LimeLab
あなたが追加したテーマはたくさんあります。 :) 明日のデモアプリであなたのソースコードをチェックする必要があります。私の次のメッセージを待つか、それまで自分自身で見つけることを願っています。 –