android attributeset,如何在android中以编程方式创建时传递AttributeSet
当您的视图从xml中膨胀时,将使用具有Context和AttributeSet的构造函数。您不应该使用它来创建对象。您应该使用带有Context作为参数的构造函数。
AttributeSet是接口,您可以创建then的实例并实现所有方法,如下所示:
AttributeSet attrs = new AttributeSet(){
@Override
public int getAttributeCount() {
return 0;
}
@Override
public String getAttributeName(int index) {
return null;
}
@Override
public String getAttributeValue(int index) {
return null;
}
@Override
public String getAttributeValue(String namespace, String name) {
return null;
}
@Override
public String getPositionDescription() {
return null;
}
@Override
public int getAttributeNameResource(int index) {
return 0;
}
@Override
public int getAttributeListValue(String namespace, String attribute, String[] options, int defaultValue) {
return 0;
}
@Override
public boolean getAttributeBooleanValue(String namespace, String attribute, boolean defaultValue) {
return false;
}
@Override
public int getAttributeResourceValue(String namespace, String attribute, int defaultValue) {
return 0;
}
@Override
public int getAttributeIntValue(String namespace, String attribute, int defaultValue) {
return 0;
}
@Override
public int getAttributeUnsignedIntValue(String namespace, String attribute, int defaultValue) {
return 0;
}
@Override
public float getAttributeFloatValue(String namespace, String attribute, float defaultValue) {
return 0;
}
@Override
public int getAttributeListValue(int index, String[] options, int defaultValue) {
return 0;
}
@Override
public boolean getAttributeBooleanValue(int index, boolean defaultValue) {
return false;
}
@Override
public int getAttributeResourceValue(int index, int defaultValue) {
return 0;
}
@Override
public int getAttributeIntValue(int index, int defaultValue) {
return 0;
}
@Override
public int getAttributeUnsignedIntValue(int index, int defaultValue) {
return 0;
}
@Override
public float getAttributeFloatValue(int index, float defaultValue) {
return 0;
}
@Override
public String getIdAttribute() {
return null;
}
@Override
public String getClassAttribute() {
return null;
}
@Override
public int getIdAttributeResourceValue(int defaultValue) {
return 0;
}
@Override
public int getStyleAttribute() {
return 0;
}
};
并使用它
TextView textView = new TextView(this, attrs);
但这不是正确的方法。
您应该使用视图中的方法来设置视图的属性。
例如,设置LayoutParams是两种方法
首先通过方法setLayoutParams()
view.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
将视图添加到ViewGroup时的第二个;
viewGroup.addView(yourView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
如果您有或者想要将视图添加到例如RelativeLayout,则应使用与此ViewGroup相关的LayoutParams。它是RelativeLayout.LayoutParams
android attributeset,如何在android中以编程方式创建时传递AttributeSet相关推荐
- 如何在Java中以编程方式阅读,添加或删除PPT中的幻灯片便笺?
幻灯片注释用于添加其他信息,作为演示文稿中的参考.演示者添加了这些注释,以回顾与他们的演示相关的要点.在本文中,将学习如何以编程方式操作演示文稿中的幻灯片注释.特别是,本文将介绍如何使用Java读取, ...
- 快速学习:如何在Java中以编程方式将PNG或JPG图像转换为PSD?
JPG和PNG图像是一些最常用的光栅图像格式.有时可以根据需要将JPG或PNG图像转换为PSD文件格式.当要将不同的图层组合到一个文件中时,这可能会很有用.本文将介绍一下更多详细信息: 使用Java以 ...
- 如何在 C# 中以编程方式将 IGS/IGES 文件转换为 PDF?
计算机辅助设计应用程序使用 IGS 文件,因为它们包含设计信息.您可以将 IGS 文件转换为 PDF 格式的文档,以便在多个操作系统和环境中查看内容. 使用 C# 以编程方式将 IGS 或 IGES ...
- linux给文件夹图标,linux – 如何在GNOME中以编程方式设置自定义文件夹图标?
我终于想出了如何做到这一点!这是一个在标准Gnome环境中工作的Python脚本: #!/usr/bin/env python import sys from gi.repository import ...
- 如何在 SwiftUI 中以编程方式滚动列表?
看起来在当前的工具/系统中,刚刚发布的 Xcode 11.4/iOS 13.4 中将没有 SwiftUI 原生支持"滚动到"功能List.因此,即使他们,Apple,将在下一个主要 ...
- CAD处理控件Aspose.CAD功能演示:在 C#中以编程方式搜索 DWG 图形文件中的文本
Aspose.CAD 是一个独立的类库,以加强 Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程.该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, ...
- 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?
在Java编程中,如何在PPT中的幻灯片上创建超链接? 注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包.这里下载最新 ...
- npm中node更新_如何在Node中管理NPM和功能时保持理智
npm中node更新 by Ted Gross 泰德·格罗斯(Ted Gross) 如何在Node中管理NPM和功能时保持理智 (How to keep your sanity while manag ...
- 如何在Leangoo中,为企业创建项目
Leangoo(中文名:领歌)是一款基于看板的项目协作工具. 我们可以使用 Leangoo 可视化地进行项目需求.任务.问题和文档的管理和协作,随时随地跟踪团队工作进展.Leangoo 工具的设计融入 ...
最新文章
- 分布式事务+DDD+负载均衡+服务治理已撸!微服务不就这点事?
- Quadrant TableViewCell
- Design Pattern - Flyweight(C#)
- 嵌入式开发中使用DDD进行调试
- Eclipse分栏显示同一个代码文件的设置
- ArrayBlockingQueue中的方法
- React基础学习(第一天)
- 马云正传——读书笔记
- 复杂网络研究:让世界变得简单
- 萌宠历险记html5游戏在线玩,《神武2》天外魔境现世 萌宠历险记首发
- S03_CH03_AXI_DMA_OV7725摄像头采集系统
- Spry Framework入门(四)——XML数据集排序
- mysql连接查询_.net core 里连接mysql查询数据的方法
- java -super关键字
- SVN实现自动更新(Windows平台)
- H53D旋转-遁地龙卷风
- linux shell 编程之变量总结
- 介绍两种常见软件开发模式:“敏捷”和“瀑布”
- 某航研究生教务系统开题报告或中期检查表报表无法显示无法导出问题
- paraview视图vtkView
热门文章
- 解决微信QQ邮箱提醒收不到通知的问题
- 【洛谷 1821】银牛派对Silver Cow Party
- MM01-不计算成本(do not cost)VS CS01-成本核算标识相关(costingrelevncy)
- 使用 HTMLVideoElement 进行 JavaScript 操作:让你的网页视频更加生动、有趣!
- 用VLC搭建简单的流媒体服务器
- 阻抗分析仪二次开发|LCR数字电桥软件NS-LCR
- busybox配置telnetd
- java计算机毕业设计小区疫情防控管理系统源码+系统+mysql数据库+lw文档+部署
- 前台Autoform 选择下拉框的值进行判断(js)
- Autoform R7冲压材料参数卡高级CAE视频教程