我正在尝试主题Sherlock Action Bar.我想将标题的颜色设置为白色.当我尝试执行以下操作时,标题一起消失.
此外,我想在按下时更改动作项目图标的背景颜色.
我试过了什么?
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Variation on the Holo Light theme that styles the Action Bar -->
<style name="Theme.Nomad" parent="Theme.Sherlock.Light">
<item name="actionBarStyle">@style/Widget.Nomad.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Nomad.ActionBar</item>
<item name="android:actionBarItemBackground">@drawable/actionbar_selectable_background</item>
<item name="actionBarItemBackground">@drawable/actionbar_selectable_background</item>
<item name="android:titleTextStyle">@style/TitleText</item>
<item name="titleTextStyle">@style/TitleText</item>
<!--
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<item name="popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
<item name="actionDropDownStyle">@style/MyDropDownNav</item>
<item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
<item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>
<item name="android:actionOverflowButtonStyle">@style/MyOverflowButton</item>
-->
</style>
<style name="Widget.Nomad.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#E5492A</item>
<item name="background">#E5492A</item>
</style>
<style name="TitleText" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/white</item>
<item name="textColor">@android:color/white</item>
<item name="android:textSize">18dip</item>
<item name="textSize">18dip</item>
</style> …Run Code Online (Sandbox Code Playgroud) 我目前正在构建一个使用材质设计主题作为基本主题的应用程序.
但是,操作栏在操作栏下方有一个暗阴影.我已经尝试了所有我能想到的东西,但我似乎无法摆脱它.这是一个显示我的意思的屏幕截图:https: //docs.google.com/file/d/0B_krkpxyd558V0p6a1NKZXFHeHc/edit?usp = docslist_api
如果有人能告诉我如何摆脱它,我会非常感激.
谢谢科里:)
我扩展了Material Theme并将其应用到我的活动中.
在style.xml中
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:windowBackground">@color/bg</item>
</style>`
Run Code Online (Sandbox Code Playgroud)
在清单中
<application
android:allowBackup="true"
android:theme="@style/AppTheme"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" >
...</application>
Run Code Online (Sandbox Code Playgroud)
我在工具栏,按钮上看到了Material Design样式,但它不适用于Pre Lollipop设备中的ImageButton,ToggleButton和Seekbar.他们出现在Holo主题中.
在我使用的gradle文件中:
compile 'com.android.support:appcompat-v7:22.1.1'
Run Code Online (Sandbox Code Playgroud)
如何将统一样式应用于所有小部件?
目前的问题是我们的主题是继承自Theme.AppCompat,它似乎有一个白色滚动条,在白色背景上不可见.我知道我可以用
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
Run Code Online (Sandbox Code Playgroud)
并为自定义滚动条创建一个形状.但我只想把它改成更深的颜色.当我使用简单的彩色矩形形状时,它的宽度与普通滚动条的宽度不同.
这可能吗?
我能够为包装EditText的TextInputLayout更改浮动标签的颜色.当它在动画阶段使用下面的代码浮动时,我可以使用"android:textColor"选择黑色(默认为白色).我试图在EditText变得不聚焦时选择不同的颜色 - 这意味着当浮动标签在EditText上方永久化时.我的最低API是14.请指教.
partial themes.xml文件:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar" >
...
</style>
<style name="FloatingLabel" parent="@android:style/TextAppearance" >
<item name="android:textColor">#000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)
部分layout.xml文件:
...
<android.support.design.widget.TextInputLayout
android:id="@+id/ToDo_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/FloatingLabel"
>
...
Run Code Online (Sandbox Code Playgroud) 我将数据加载到其后有一个微调器.风格不如我所料.
微调器代码
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinnerGender"
android:spinnerMode="dropdown"
android:layout_marginLeft="-5dp"
android:layout_marginTop="5dp"/>
Run Code Online (Sandbox Code Playgroud)
如何更改微调器的主题/样式
我通过以下方式主题:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
</style>
<style name="AppTheme.Dialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但是,当我在我的应用程序中创建AlertDialogs时,它们根本不是主题.其他组件如ActionBar正在正确着色.我错过了什么吗?
我使用的是AppCompat版本com.android.support:appcompat-v7:23.1.1,我的设备安装了Android 4.4.4.
我正在尝试为AlertDialog按钮自定义重音颜色.但它似乎没有任何影响它似乎继承了系统的颜色.这是我的风格/主题.
<color name="actionable_items">#0574ac</color> <!-- it is blue color -->
<style name="LLDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<!--buttons color-->
<item name="colorAccent">@color/actionable_items</item>
<!--item RadioButton or CheckBox color-->
<item name="colorControlActivated">@color/actionable_items</item>
<item name="colorPrimary">@color/actionable_items</item>
<item name="colorPrimaryDark">@color/actionable_items</item>
<item name="android:listChoiceIndicatorMultiple">@color/actionable_items</item>
<item name="android:listChoiceIndicatorSingle">@color/actionable_items</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是我的代码,它正在尝试构建Alertdialog.
final CustomPopupBuilder removePlaceDialog = new CustomPopupBuilder(new ContextThemeWrapper(context,
R.style.LLDialog));
removePlaceDialog.setTitle(getString(R.string.delete_place, placeName));
removePlaceDialog.setMessage(getString(R.string.delete_place_message));
removePlaceDialog.setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
....
....
}
});
removePlaceDialog.setNegativeButton(R.string.cancel, null);
removePlaceDialog.create().show();
Run Code Online (Sandbox Code Playgroud)
最终的AlertDialog没有具有相同文本颜色的按钮.文字颜色与绿色相似.它似乎是从系统继承颜色而不是自定义主题.这是图像:
编辑1:
我试过使用AlertDialog.Builder它,但它给了我相同的结果.
final AlertDialog.Builder removePlaceDialog = AlertDialog.Builder(new ContextThemeWrapper(context,
R.style.LLDialog));
removePlaceDialog.setTitle(getString(R.string.delete_place, placeName));
removePlaceDialog.setMessage(getString(R.string.delete_place_message));
removePlaceDialog.setPositiveButton(R.string.ok_button, new …Run Code Online (Sandbox Code Playgroud) 我希望能够设置一个主题来在AppCompat AlertDialog中设置消息文本大小.主题需要有parent="@style/Theme.AppCompat.Dialog".我花了几个小时搜索并尝试了所有的建议,但它们似乎都没有使用那个基本主题.
如果父级更改为Holo主题,那么我可以使用更改消息文本大小textAppearanceMedium,但对话框的其余部分看起来非常难看:S
目前我的主题是(所有这一切目前都已联系并正在运作):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyDialogTheme" parent="@style/Theme.AppCompat.Dialog">
<!-- Used for the buttons -->
<item name="colorAccent">@color/colorPrimary</item>
<!-- Button text size -->
<item name="android:textSize">@dimen/ui_text_size</item>
<!-- Content text color -->
<item name="android:textColorPrimary">@color/ui_text_color</item>
<!-- Title style -->
<item name="android:windowTitleStyle">@style/MyDialogTitleStyle</item>
<!-- Button style (except size) -->
<item name="android:textAppearanceButton">@style/MyDialogButtonTextAppearance</item>
<!-- Dialog background -->
<item name="android:windowBackground">@color/ui_background</item>
</style>
<style name="MyDialogTitleStyle" parent="@style/RtlOverlay.DialogWindowTitle.AppCompat">
<item name="android:textAppearance">@style/MyDialogTitleTextAppearance</item>
<item name="android:textSize">@dimen/ui_large_text_size</item>
</style>
<style name="MyDialogTitleTextAppearance">
<item name="android:textSize">@dimen/ui_large_text_size</item>
<item name="android:textAllCaps">true</item>
<item name="android:textColor">@color/ui_title_color</item>
</style>
<style name="MyDialogButtonTextAppearance">
<item …Run Code Online (Sandbox Code Playgroud) 我试图了解如何更改我的应用程序中的特定主题的所有复选框的外观.
我想更改复选框检查颜色和复选框边框颜色.
如果我创建这种风格:
<style name="MyCheckBox" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="colorControlNormal">#8AFFFFFF</item>
<item name="colorControlActivated">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
并将其作为主题应用于我的复选框,效果很好.
<CheckBox
android:id="@+id/status_favorite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/MyCheckBox"/>
Run Code Online (Sandbox Code Playgroud)
但是我真的不想将该主题应用于每个复选框,我想为所有复选框设置主题.
我试图在我的主题中设置checkboxStyle但是这不起作用.
<style name="MyTheme" parent="Theme.AppCompat">
...
<item name="checkboxStyle">@style/MyCheckBoxStyle</item>
...
</style>
<style name="MyCheckBoxStyle" parent="Base.Widget.AppCompat.CompoundButton.CheckBox">
<item name="colorControlNormal">#8AFFFFFF</item>
<item name="colorControlActivated">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
有没有办法为所有复选框设置默认主题?