`

创建自定义控件在布局中的自定义属性

阅读更多
1.在values目录下新建attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="MusicView">
        <attr name="height1" format="integer" />
    </declare-styleable>
</resources>


height1就是我们的自定义属性

2.在布局文件中创建自定义控件

    <demo.com.selfdefineview.MyView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        music:height1="100"
        />


这个时候是无法编译通过的,music属性会报红,这是因为没有找到music命名空间的缘故,所以我们要自己要加一个命名空间,在布局文件的第一个元素内,加上

  xmlns:music="http://schemas.android.com/apk/res/demo.com.selfdefineview"


加上后,编译就可以通过,最后一段是包名

3.新建一个类MyView


public class MyView extends View {

    public MyView(Context context){
        super(context);
    }

    public MyView(Context context, AttributeSet attrs){

        super(context,attrs);


        TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.MusicView);
       int aa = ta.getInteger(R.styleable.MusicView_height1,0);


        Toast.makeText(context,"aa="+aa,Toast.LENGTH_LONG).show();

    }
}



运行,此时可以看到toast提示aa=100


分享到:
评论

相关推荐

    在C#中创建自定义控件

    在C#中创建自定义控件是一项常见的任务,这允许开发者根据特定需求定制控件的外观和行为。本文将详细讲解三种创建自定义控件的方法,并介绍如何使这些控件在.NET Studio的设计器中顺利使用。 首先,创建自定义控件...

    自定义控件与属性

    在XML布局文件中,我们常常需要为自定义控件设置各种属性。为了实现这一点,可以使用`attrs.xml`文件定义自定义属性,然后在自定义控件的构造函数或者`setAttributes()`方法中解析这些属性。例如,你可以定义颜色、...

    自定义控件属性与组合控件

    接下来,我们可以在自定义控件的Java类中通过`ContextThemeWrapper`和`TypedArray`获取这些属性值。在`onCreateView`或`onAttachedToWindow`方法中添加以下代码: ```java TypedArray typedArray = context....

    自定义控件(自定义属性)

    在布局文件(如testlayout.xml)中,可以像使用系统控件一样引入我们的自定义控件,并设置自定义属性: ```xml xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" ...

    11自定义控件_C++_自定义控件_

    本文将深入探讨如何在C++中创建自定义控件及其应用。 首先,要理解自定义控件的基本概念。控件,通常指的是窗口中的可视化对象,如按钮、文本框等,它们能够响应用户的输入并进行相应的操作。自定义控件则是对这些...

    为Silverlight创建自定义控件

    在本文中,我们将深入探讨如何在Silverlight 2中创建自定义控件,这是一个关键的开发技能,可以让你根据特定需求扩展和定制UI组件。Silverlight的控件模型提供了丰富的可扩展性,允许开发者构建高度专业化和交互性的...

    android自定义控件及其属性设置

    本教程将深入探讨如何在Android中创建自定义控件及其属性设置。 一、自定义控件的基本步骤 1. 创建一个新的Java类:首先,我们需要继承Android的基础视图类,如`View`或`ViewGroup`。例如,我们创建一个名为`...

    Android自定义控件开发入门与实战.zip

    2. 设计UI布局:在XML布局文件中声明自定义控件,并设置相关属性。 3. 处理事件:覆盖onTouchEvent()或其他事件处理方法,实现对用户交互的响应。 二、自定义属性 Android提供了AttributeSet接口,允许自定义控件...

    自定义控件 自定义控件

    在.NET框架中,尤其是C#环境下,开发Windows应用程序时,我们常常会遇到需要根据特定需求创建自定义控件的情况。自定义控件是提升应用程序功能和用户体验的重要手段,它可以让我们根据设计需求定制出独一无二的界面...

    自定义winform表单,控件自定义属性,控件定义数据,xml存入

    在这个项目中,可能使用XML文件来保存和恢复自定义控件的状态,包括自定义属性和关联数据。例如,当用户关闭程序后,控件的大小、位置、属性值等信息可以序列化到XML文件,再次运行时再反序列化回控件。 在提供的...

    C#自定义控件合集-SunnyUI.rar

    自定义控件通常通过继承已有的System.Windows.Forms.Control类或者其他的控件基类来创建,然后添加额外的属性、方法和事件。在SunnyUI中,我们可以期待找到一些已经预设好特性和行为的自定义控件,这些控件可能会...

    自定义控件Demo

    本Demo着重介绍了如何在Android中创建自定义控件,并提供了相关的源码供学习和参考。 一、自定义控件的基本步骤 1. 创建View类:自定义控件通常是从继承`View`或`ViewGroup`开始的。`View`是所有UI元素的基础,而`...

    C# ListView中添加多种自定义控件源码

    自定义控件在ListView中的布局和样式可以通过调整ColumnHeader宽度、Item模板以及控件样式来自定义。例如,可以设置CheckBox或ComboBox的宽高、字体、颜色等属性。 综上所述,通过在C#的ListView中嵌入自定义控件,...

    安卓自定义控件相关-Android自定义控件源码.rar

    通过学习这个压缩包中的源码,开发者可以深入理解Android自定义控件的工作原理,从而在实际项目中创建出更具创意和实用性的控件。记得对源码进行调试和测试,确保其在具体应用场景中的稳定性和性能。

    Android Studio 创建自定义控件的方法

    我们知道,当系统控件并不能满足我们的需求时,我们就需要来创建自定义控件,主要有两种方法 (1)引入布局 下面来自定义一个控件,iPhone的标题栏,创建一个标题栏并不是什么难事,加入两个button一个TextView就行...

    Qt自定义控件库.rar

    总的来说,Qt自定义控件库提供了丰富的示例和灵感,有助于开发者更好地理解和掌握Qt中的自定义控件开发,从而在项目中实现更具个性化的界面设计。通过深入研究和实践,你将能够构建出更加高效、美观且用户友好的应用...

    QT 自定义控件编译与使用

    - **在Qt Designer中使用**:为了让自定义控件可以在Qt Designer设计界面中可视化编辑,需要创建一个插件。创建一个Designer插件类,继承自QDesignerWidgetFactory或QDesignerCustomWidgetInterface,并实现其中的...

    C#.net自定义控件开发用户自定义控件扩展控件

    总结来说,这个案例将教你如何在C#.NET中进行自定义控件开发,特别是用户控件和扩展控件的创建。通过实践,你可以掌握自定义控件的继承与重写,用户控件的组合与设计,以及文件上传功能的实现,这些都是构建高效、...

    自定义控件入门集

    接下来,为了能在XML布局文件中使用自定义控件,我们需要在项目的`res/layout`目录下创建一个XML布局文件,并在其中声明这个自定义控件。通过`&lt;com.example.yourpackage.YourCustomView&gt;`标签来引用它,这里的`Your...

    C# 自定义控件 实现可伸缩的Panel控件

    在C#编程中,自定义控件是一种常见的需求,它允许开发者根据特定需求创建具有特殊功能的用户界面元素。本教程将深入探讨如何创建一个可伸缩的Panel自定义控件,该控件具备自由扩展缩进的功能,并能实现多个Panel间的...

Global site tag (gtag.js) - Google Analytics