在我的应用程序中,我使用了几个首选项,包括一些使用以下属性与依赖项相关的首选项:android:dependency="pref_key".
基本上,如果未选中该复选框,则会禁用以下所有其他首选项:

当我在自定义主题中设置以下3行时,会出现问题:
<style name="AppThemeOrange" parent="@style/AppTheme">
<item name="android:textColorPrimary">@color/OrangeMain</item>
<item name="android:textColorSecondary">@color/OrangeDark</item>
<item name="android:textColorTertiary">@color/OrangeLight</item>
(...)
Run Code Online (Sandbox Code Playgroud)
在这3个属性上定义的颜色也会覆盖禁用的首选项的默认字体颜色:

首选项仍然被禁用,但显示的字体相反相反...
我搜索了默认的Holo Light样式和主题,但我不知道这个定义的位置以及为什么上面的样式会覆盖这些样式.
有没有人遇到过这个问题?
我的主要活动视图中有三个简单的按钮.我想要做的是对我的所有按钮应用按钮式,但我没有这样做.
这是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/minecraft_portrait"
android:alpha="0.75"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/txtAppName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/app_name_readable"
android:textSize="32sp"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btnCrafting"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/button_selector"
android:onClick="craftingButtonClicked"
android:text="@string/crafting" />
<Button
android:id="@+id/btnServerCommands"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/btnCrafting"
android:layout_below="@id/btnCrafting"
android:layout_marginTop="20dp"
android:background="@drawable/button_selector"
android:onClick="commandsButtonClicked"
android:textColor="@android:color/white"
android:text="@string/servercommands" />
<Button
android:id="@+id/btnVideos"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/btnServerCommands"
android:layout_below="@id/btnServerCommands"
android:layout_marginTop="20dp"
android:background="@drawable/button_selector"
android:onClick="videosButtonClicked"
android:text="@string/videos" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是res/values文件夹中的style.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/ButtonTheme</item>
</style>
<style name="ButtonTheme" parent="android:Widget.Button">
<item …Run Code Online (Sandbox Code Playgroud) 我试图通过样式扩大我的所有应用程序对话框按钮上的文本大小.以下代码将更改按钮背景颜色甚至文本大小写,但由于某种原因,textSize项目不符合:
<style name="MyAppTheme" parent="@android:style/Theme.Holo">
<item name="android:dialogTheme">@style/MyApp.Dialog</item>
<item name="android:alertDialogTheme">@style/MyApp.Dialog.Alert</item>
</style>
<style name="MyApp.Dialog" parent="@android:style/Theme.Holo.Dialog">
<item name="android:borderlessButtonStyle">@style/MyApp.BorderlessButton</item>
</style>
<style name="MyApp.Dialog.Alert" parent="@style/MyApp.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
<style name="MyApp.BorderlessButton" parent="@android:style/Widget.Holo.Button.Borderless">
<item name="android:textSize">50sp</item>
<item name="android:textAllCaps">true</item>
<item name="android:background">#800</item>
</style>
Run Code Online (Sandbox Code Playgroud)

为什么没有读取textSize?我需要做些什么来扩大它?
android android-layout android-theme android-dialog android-styles
问题是我的日期选择器在日期选择器后面有一个丑陋的白色背景

我只想让那个背景消失
这是我的代码
public void selectDate(View view) {
DialogFragment newFragment = new SelectDateFragment();
newFragment.show(Master_.fragmentManager, "DatePicker");
}
public void populateSetDate(int year, int month, int day) {
Birthdate.setText(year + "-" + month + "-" + day);
}
public class SelectDateFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog =new DatePickerDialog(mActivity,R.style.jehadStyle, this, yy, mm, dd);
dialog.getDatePicker().setMaxDate(calendar.getTimeInMillis());
return dialog ;
}
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试在使用TabLayout时删除选项卡下面的阴影,TabLayout是在普通布局中定义的(而不是作为工具栏或操作栏的一部分).
将主题设置为
<item name="android:windowContentOverlay">@null<item/>
Run Code Online (Sandbox Code Playgroud)
要么
<item name="windowContentOverlay">@null<item/>
Run Code Online (Sandbox Code Playgroud)
没用.
此外,将高程设置为0也没有帮助.
<android.support.design.widget.TabLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:color/white"
app:backgroundTint="@android:color/transparent"
app:tabIndicatorColor="@android:color/transparent"
app:tabMode="scrollable"/>
Run Code Online (Sandbox Code Playgroud) 我有一个库,它有自己的活动与colorPrimary和colorPrimaryDark属性.在使用此库的应用程序中,这些颜色属性有不同的值.
有没有办法让库使用调用者应用程序提供的样式?
因此,最后,如果应用程序具有绿色工具栏,则库中的活动将具有绿色工具栏,而不是库主题中定义的工具栏.
这是图书馆的主题:
<style name="LibraryTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
<item name="colorPrimaryDark">@color/dark_red</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是示例应用程序的主题:
<style name="SampleAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/green</item>
<item name="colorPrimaryDark">@color/dark_green</item>
<item name="colorAccent">@color/accent_color</item>
</style>
Run Code Online (Sandbox Code Playgroud) 我花了大量的时间试图弄清楚如何将一些简单的样式应用到工具栏,但我完全被难倒了.具体来说,我想更改标题和副标题的颜色以及溢出菜单图标(三个点).我可以在布局中成功设置文本颜色,但不能在主题中设置,我不知道为什么.
<android.support.v7.widget.Toolbar
theme="@style/Toolbar"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/orange"
app:popupTheme="@style/AppTheme.PopupOverlay"
/>
Run Code Online (Sandbox Code Playgroud)
styles.xml:
<style name="Toolbar" parent="Widget.AppCompat.Toolbar">
<item name="titleTextStyle">@style/ToolbarTitle</item>
<item name="titleTextAppearance">@style/ToolbarTitleTextAppearance</item>
<item name="popupTheme">@style/AppTheme.PopupOverlay</item>
</style>
<style name="ToolbarTitle" parent="Base.TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="titleTextAppearance">@style/ToolbarTitleTextAppearance</item>
<item name="android:textColor">#FF0000</item>
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
</style>
Run Code Online (Sandbox Code Playgroud)
PopupOverlay主题应用于溢出菜单弹出窗口,因此工具栏主题显然正在应用,但TextAppearance不起作用,文本仍然是黑色.我尝试了各种各样的替代形式但没有快乐.当我尝试某些东西并且它不起作用时,我不知道从哪里开始寻找理解原因.有关调试此类问题的提示是受欢迎的!失去几个小时到非常简单的UI样式变化是非常令人沮丧的,但布局,样式,主题和AppCompat的多个方面让我完全混淆和猜测.
我想用Widget.MaterialComponents.TextInputLayout.OutlinedBox样式创建TextInputLayout.我尝试了很多方法,但无法获得所需的结果.这是我的代码.
TextInputLayout textInputLayout = new TextInputLayout(getActivity(),null,R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox);
textInputLayout.setHint("My Hint");
TextInputEditText editText = new TextInputEditText(textInputLayout.getContext());
textInputLayout.addView(editText);
parentView.addView(textInputLayout);
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
TextInputLayout textInputLayout = new TextInputLayout(getActivity(),null,TextInputLayout.BOX_BACKGROUND_OUTLINE);
Run Code Online (Sandbox Code Playgroud)
android android-layout android-styles material-design textinputlayout
基本上,我想改变动作栏中标签的高度.在stackoverflow上已多次询问此问题,例如:
我已经尝试了大多数解决方案,但没有任何效果,这是我的代码.
<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo">
<item name="android:scrollHorizontally">false</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:actionBarSize">80dp</item>
<item name="actionBarSize">80dp</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
</style>
<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:height">80dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
显然,代码只会改变操作栏高度,而不是我想要的标签栏高度.这是图片供参考:

如您所见,底部的操作栏更高.但在操作栏模式下,标签高度保持不变.
为什么会这样?我错过了什么???先感谢您 :).
解决了,如:
和
https://code.google.com/p/android/issues/detail?id=41792
显然这是一个来自android sdk的bug ...从来没有遇到过像这样的bug :(.希望这有助于其他人.
android android-layout android-fragments android-tabs android-styles
在将 Android Studio 更新到最新版本后尝试构建项目时,出现此错误。我收到以下错误:
C:\Users\YaCn.gradle\caches\transforms-2\files-2.1\5502c0022567bdcff063e0fb4352b137\folioreader-0.3.3\res\layout\progress_dialog.xml:10: AAPT: 错误/资源栏:androidprogressattr成立。
那个 XML :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/layout_loading"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center">
<ProgressBar android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/android:progressBarStyle"/>
<TextView android:id="@+id/label_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textSize="18sp"
android:textColor="@android:color/white"
android:text="@string/loading"/>
</LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
构建gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.example.admin.hashtab"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
multiDexEnabled true
manifestPlaceholders = [manifestApplicationId : "${applicationId}",
onesignal_app_id : "654bcb8c-90a6-4012-924a-e18e5787a7de",
onesignal_google_project_number: "3520309722"]
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles …Run Code Online (Sandbox Code Playgroud)