gpt4 book ai didi

java - 覆盖 : same onDraw for many Views (Button, TextView) 元素

转载 作者:行者123 更新时间:2023-12-01 13:09:11 24 4
gpt4 key购买 nike

我需要在 android 中为屏幕上的所有 View 绘制自定义边框。每个 View 都有不同的参数。为此,我考虑创建新的 CustomBottonCustomTextView 等类,并重新定义它们的 onDraw() 方法。但这些方法将包含相同的代码,因此不太好

  1. 为这些 View 创建新类
  2. 使用相同的代码重写相同的 onDraw() 方法。

有没有更优雅/更快的方法来做到这一点?

最佳答案

做这样的事情是为了简单而快速的解决方案(快速做事总是会牺牲性能)。

  1. 不要处理任何 View 的 onDraw。

  2. 创建一个扩展 LinearLayout 的类。

    2.1 将此 Linearlayout 的背景设置为边框的颜色。

    2.1.1 - More better read border color attribute from xml at runtime. 

    2.2 将其内边距设置为边框的宽度。

    2.3 将其宽度和高度分别设置为wrap_content和wrap_content。

  3. 向此 LinearLayout 添加单个 View 。以编程方式或通过 xml。

    <com.example.BorderLinearLayout >

    <ImageView /> // or whatever. But a single view or viewgroup only

    </com.example.BorderLinearLayout>

希望这有帮助

关于java - 覆盖 : same onDraw for many Views (Button, TextView) 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028980/

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