【问题标题】:Has anyone made a View that takes text, an image and lets the text wrap around the image?有没有人制作了一个带有文本、图像并让文本环绕图像的视图?
【发布时间】:2011-03-01 13:30:22
【问题描述】:

我的意思是类似于here 所问的问题。我看到人们建议使用静态布局,但我不明白它是如何解决的。我也看到有人建议使用 webview,但这似乎很愚蠢。我想要一个可以接受 XML 输入的可重用视图,并且我应该能够在 ListView 中使用它,而无需在每一行中创建一个 webview。想法?

我有 this 自己绘制所有内容,但我陷入了单词破坏问题。

我还希望图像是可点击的,我已经有了,但与我们都习惯的 statelistdrawables 具有相同的功能。我是否必须在视图中维护图像状态并根据该状态更改要绘制的可绘制对象?

【问题讨论】:

    标签: android view custom-view


    【解决方案1】:

    也许可以尝试this answer,使用 WebView。

    编辑:在使用 getLineCount()、getLineLastVisible() 和各种省略号设置后,我得出的结论是,这不是故意的。

    理论上,您可以使用 getLineCount() 和 getLineLastVisible() 来测量适合视图的文本并适当地填充第二个溢出视图。不幸的是,这些实际上与 TextView 的可见(屏幕上)部分没有任何关系,如果有隐藏的行,只能显示 3 行的 TextView 会很高兴地在 getLineCount() 中报告更多行。

    我认为这个问题的一般解决方案是需要从 TextView.java 的片段中组合你自己的 ViewGroup(它会包含一个插入图像或要布局的视图)。

    简短回答:鉴于当前的框架,这并不容易。

    【讨论】:

    • 即使我明确声明我不想使用 WebView?我不知道如何使 webview 中的图标可点击,并使其打开一个新活动。我认为在一个列表中包含多达 50 个 WebView 并不是很有效。我不知道在滚动和缩放方面是否可以关闭 WebView 的默认行为。我们应该能够构建和扩展视图,我不认为 WebView 是最好的解决方案,即使它半途而废。
    • 我认为您必须创建自己的视图或视图组是正确的。我只是希望有更多的文档或人们更频繁地这样做,这样我就有了一个起点。这是我已经开始做的,你可以在屏幕截图中看到。我想我只需要继续沿着这条路走下去。不过,如果有人在创建自定义视图方面有任何经验,我会将这个问题留待一段时间。
    猜你喜欢
    • 2013-07-15
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    相关资源
    最近更新 更多