gpt4 book ai didi

android - 如何将 AttributeSet 作为参数传递

转载 作者:行者123 更新时间:2023-11-29 01:34:19 24 4
gpt4 key购买 nike

我正在尝试通过 Pedram 从 this 实现更新的解决方案回答,但我不知道创建一个新的 CircleProgressBar 实例。它需要将AttributeSet作为参数传递,但是如何获取呢?

CircleProgressBar circleProgressBar = new CircleProgressBar(MainActivity.this, ?);

最佳答案

AttributeSet 构造函数在通过 XML 中定义的布局扩充 View 时使用。如果您在代码中构建一个,则应使用单参数构造函数(例如 new CircleProgressBar(MainActivity.this))。如果没有定义单参数构造函数,你只需要添加它。如果您希望能够完全从 Java 代码中构造它,则只需为属性添加一些 getter/setter。

或者,只需定义一个带有单个项目的布局 XML(示例名称 view_progress_circle.xml):

<com.your.packagename.CircleProgressBar
android:layout_width="100dp"
android:layout_height="100dp"
// etc. add other attributes here
/>

然后在代码中,创建它:

CircleProgressBar bar = (CircleProgressBar) LayoutInflater.from(MainActivity.this)
.inflate(R.layout.view_progress_circle, parent, false):

parent 是您要将 View 附加到的 ViewGroup

关于android - 如何将 AttributeSet 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com