gpt4 book ai didi

android - "android:theme"属性忽略重力

转载 作者:行者123 更新时间:2023-11-29 17:15:43 25 4
gpt4 key购买 nike

这是我的app_style.xml

<style name="EditText.LargePassword" parent="Widget.AppCompat.EditText">
<item name="android:gravity">center_horizontal</item>
<item name="android:imeOptions">flagNoExtractUi</item>
<item name="android:inputType">numberPassword</item>

<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColorHint">@color/white</item>
<item name="android:textSize">56sp</item>

<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/white</item>
<item name="colorControlHighlight">@color/white</item>
</style>

和部分布局:

<EditText
android:id="@+id/password_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/giant_margin"
android:layout_marginRight="@dimen/giant_margin"
android:theme="@style/EditText.LargePassword"
tools:text="12345"
tools:ignore="TextFields"
/>

如您所见,我通过 android:theme 属性应用了 EditText.LargePassword 样式:

via android:theme

有一个问题:应用了每个属性,除了 android:gravity

好的,让我们尝试使用 style 属性:

style="@style/EditText.LargePassword"

轰!指示器和光标不见了:

enter image description here

但现在 android:gravity="center_horizo​​ntal" 可以工作了。

据我所知,style == theme,但style 不适用于 查看。有什么不同吗?是错误吗?

最佳答案

样式和主题虽然相似,但并不完全相同。样式仅适用于一个特定 View ,而主题将适用于 View/ViewGroup/Activity 及其所有 subview 。

在您的情况下,您实际上是将样式和主题的属性混合到一个设置中,这就是它无法正常工作的原因。要获得两者,您需要获取三个 colorControl 属性并将它们定义为主题:

<style name="LargePasswordTheme" >
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/white</item>
<item name="colorControlHighlight">@color/white</item>
</style>

其余的可以保留为样式。然后您可以将此样式和您的样式添加到 EditText:

<EditText
android:id="@+id/password_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/giant_margin"
android:layout_marginRight="@dimen/giant_margin"
android:theme="@style/LargePasswordTheme"
android:style="@style/EditText.LargePassword"
tools:text="12345"
tools:ignore="TextFields"
/>

可以找到具有良好解释的进一步阅读 herehere .

关于android - "android:theme"属性忽略重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39184874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com