相关疑难解决方法(0)

android在运行时动态更改样式

我想使我的字体大小可配置,但我也想在我的布局中使用样式标记.是否可以在运行时更改样式的定义?或者是在每个textview等上手动更改单个样式元素的唯一选项?

android coding-style

37
推荐指数
3
解决办法
6万
查看次数

在 Android 中膨胀类按钮时出错

我有一个最小 sdk 16 到 23 的应用程序。我想尽可能多地使用材料设计。它也必须是全屏应用程序。包括 AppCompat 支持库。现在我有一些按钮的登录活动:

<Button
    android:id="@+id/act_logon_btn_logon"
    style="@style/ButtonDefault"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/act_logon_logon" />
Run Code Online (Sandbox Code Playgroud)

样式如下(values/styles.xml):

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar.FullScreen"></style>

<style name="AppTheme" parent="AppThemeBase"></style>

<style name="ButtonDefault" parent="Widget.AppCompat.Button">
    <item name="android:textSize">?attr/font_medium</item>
</style>

<style name="FontStyle"></style>

<style name="FontStyle.Small">
    <item name="font_small">12sp</item>
    <item name="font_medium">14sp</item>
    <item name="font_large">16sp</item>
</style>

<style name="FontStyle.Medium">
    <item name="font_small">16sp</item>
    <item name="font_medium">18sp</item>
    <item name="font_large">20sp</item>
</style>

<style name="FontStyle.Large">
    <item name="font_small">20sp</item>
    <item name="font_medium">22sp</item>
    <item name="font_large">24sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在值/属性中:

<declare-styleable name="FontStyle">
    <attr name="font_small" format="dimension" />
    <attr name="font_medium" format="dimension" /> …
Run Code Online (Sandbox Code Playgroud)

android android-inflate inflate-exception android-styles android-attributes

7
推荐指数
2
解决办法
3万
查看次数