如何在我的自定义视图中使用标准属性 android:text?

How to use standard attribute android:text in my custom view?(如何在我的自定义视图中使用标准属性 android:text?)
本文介绍了如何在我的自定义视图中使用标准属性 android:text?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我编写了一个扩展RelativeLayout自定义视图.我的视图有文本,所以我想使用标准 android:text 而不 需要指定 <declare-styleable> 和 <每次我使用自定义视图时,都没有使用自定义命名空间 xmlns:xxx.

I wrote a custom view that extends RelativeLayout. My view has text, so I want to use the standard android:text without the need to specify a <declare-styleable> and without using a custom namespace xmlns:xxx every time I use my custom view.

这是我使用自定义视图的 xml:

this is the xml where I use my custom view:

<my.app.StatusBar
    android:id="@+id/statusBar"
    android:text="this is the title"/>

如何获取属性值?我想我可以使用

How can I get the attribute value? I think I can get the android:text attribute with

TypedArray a = context.obtainStyledAttributes(attrs,  ???);

但是在这种情况下 ??? 是什么(在 attr.xml 中没有样式)?

but what is ??? in this case (without a styleable in attr.xml)?

推荐答案

使用这个:

public YourView(Context context, AttributeSet attrs) {
    super(context, attrs);
    int[] set = {
        android.R.attr.background, // idx 0
        android.R.attr.text        // idx 1
    };
    TypedArray a = context.obtainStyledAttributes(attrs, set);
    Drawable d = a.getDrawable(0);
    CharSequence t = a.getText(1);
    Log.d(TAG, "attrs " + d + " " + t);
    a.recycle();
}

希望你有想法

这篇关于如何在我的自定义视图中使用标准属性 android:text?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Android release APK crash with java.lang.AssertionError: impossible in java.lang.Enum(Android 发布 APK 因 java.lang.AssertionError 崩溃:在 java.lang.Enum 中不可能)
Finished with Non Zero Exit Value 3(以非零退出值 3 结束)
On gradle:3.0.0 More than one file was found with OS independent path #39;META-INF/ASL2.0#39;(在 gradle:3.0.0 上找到多个文件,其独立于操作系统的路径为“META-INF/ASL2.0)
Android : app loading library at runtime on Lollipop but not IceCreamSandwich(Android:运行时在 Lollipop 上而不是 IceCreamSandwich 上的应用程序加载库)
buildConfigField depending on flavor + buildType(buildConfigField 取决于风味 + buildType)
How do I suppress warnings when compiling an android library with gradle?(使用 gradle 编译 android 库时如何抑制警告?)