当前位置: 首页 > 知识库问答 >
问题:

Android:以编程方式设置视图样式

柯昆
2023-03-14
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/LightStyle"
    android:layout_width="fill_parent"
    android:layout_height="55dip"
    android:clickable="true"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" />

</RelativeLayout>

如何以编程方式设置style属性?

共有1个答案

壤驷康裕
2023-03-14

从技术上讲,您可以通过编程方式应用样式,但无论如何都可以使用自定义视图:

private MyRelativeLayout extends RelativeLayout {
  public MyRelativeLayout(Context context) {
     super(context, null, R.style.LightStyle);
  }
}

一个参数构造函数是以编程方式实例化视图时使用的。

因此,将此构造函数链接到接受样式参数的super。

RelativeLayout someLayout = new MyRelativeLayout(new ContextThemeWrapper(this,R.style.RadioButton));
RelativeLayout someLayout = new RelativeLayout(new ContextThemeWrapper(activity,R.style.LightStyle));
class MyRelativeLayout @JvmOverloads constructor(
    context: Context, 
    attributeSet: AttributeSet? = null, 
    defStyleAttr: Int = R.style.LightStyle,
) : RelativeLayout(context, attributeSet, defStyleAttr)
 val rl = RelativeLayout(ContextThemeWrapper(activity, R.style.LightStyle))
 类似资料:
  • 如何在java中向文本视图添加样式?我试图在我的价值观/风格下添加一个。xml,而不是单独添加每个属性。

  • 有没有办法以编程方式自定义这些TextInputLayout属性: textColorHint 彩色口音 颜色控制正常 颜色控制已激活 文本选择句柄 我知道如何使用主题属性对它们进行样式化,但是我正在处理的项目动态地加载颜色信息,据我所知,在运行时无法更改主题/样式值。

  • 问题内容: 有没有一种方法可以通过编程设置属性?似乎没有方法。 明确地说,我不是在谈论视图/窗口小部件样式!我在谈论以下内容: 问题答案: setTypeface是属性textStyle。 正如 Shankar V 添加的那样,要保留以前设置的字体属性,可以使用:

  • 问题内容: 我遇到以下问题:我实现了一个在一个案例中包含和的。在这种情况下,图像约为屏幕宽度的50%。所以我想居中。不幸的是,我发现居中的唯一方式是,使用上。 这是我的xml: 但是我需要以编程方式进行设置。有人知道我该如何实现这一目标或以其他方式知道吗?我在Google上找到的所有内容都不适用于此帖子。 谢谢! 问题答案: 做这样的事情: 更新: 另一种方法:

  • 我在Android中以编程方式设置APN。当我运行代码时,我得到。如果我在清单中提到这个权限,我得到的错误就像这些权限只有SYSTEM APPS。你能帮我解决这个问题吗?参考链接