gpt4 book ai didi

android - 如何在 Android 中通过主题设置任何小部件的宽度/高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:24:03 24 4
gpt4 key购买 nike

我需要在多个屏幕 (xml) 中使用具有相同属性(如宽度、高度、文本颜色、大小等)的相同小部件(按钮、编辑文本、 TextView )。因此,我为各个小部件创建了样式(一种样式用于按钮,一种用于编辑文本...),并在我的 CustomTheme 中定义了所有这些样式。

我的问题是

如果我也在样式中定义布局宽度/高度并且简单地在 xml 中为按钮提供 style="@style/myButtonStyle"就可以正常工作,即使我没有在 xml 中提及宽度/高度(可能继承自 Style ).

如果我在没有 style prop 的 xml 中提供宽度/高度,并且只是将我的自定义主题提供给 Activity ,就会带来我在主题中指定的所有样式。但是我没有在 xml 中提到宽度/高度它引发了一个异常,说你已经指定了布局宽度/高度,我已经在样式本身中指定了它。

我的主题文件是

 <style name="Theme.Blue" parent="android:Theme">
<item name="android:buttonStyle">@style/button222</item>
<item name="android:textViewStyle">@style/text222</item>
<item name="android:editTextStyle">@style/edittext222</item>
</style>

我的 button222 样式是

 <style name="button222" parent="@android:style/Widget.Button">
<item name="android:layout_width">@dimen/mWidth</item>
<item name="android:textColor">#F56266</item>
<item name="android:textSize">20sp</item>
</style>

并且我将维度指定为

       <dimen name="mWidth">180dip</dimen>

我在 layout.xml 中这样使用

                          <Button   android:layout_width="180dip"
android:layout_height="wrap_content"
android:text="This is large text."
/>

<Button
android:layout_height="wrap_content"
android:text="This is regular text one"
/>

<Button
style="@style/button222"
android:layout_height="wrap_content"
android:text="This is regular text."
/>

它给出异常说明指定布局宽度,我在 button222 样式中提到并尝试在我的主题中使用它。

最佳答案

您应该在样式 xml 中插入一个维度值:

<dimen name="buttonHeight">40px</dimen>

那么您只需引用维度值即可。所以在你的布局文件中你会写:

android:layout_height="@dimen/buttonHeight"

关于android - 如何在 Android 中通过主题设置任何小部件的宽度/高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329986/

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