Android:有没有办法在edittext中应用右边距?

我正在寻找类似于LeadingMarginSpan的东西,但能够将左边距和右边距都应用于文本,而不是左边距.

我想要做的是可以选择在同一个edittext中使一些段落比其他段落更窄,所以它可能看起来像这样:

blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah
blah blah

     blah blah blah blah blah blah
     blah blah blah blah blah blah
     blah blah blah blah blah blah
     blah

blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah
blah blah blah blah blah

据我所知,没有预定义的跨度可以做到这一点,我不知道如何从头开始创建一个可以做到这一点的新跨度.任何帮助将不胜感激!

最佳答案

As far as I know there are no pre-defined spans that do this

AFAIK,你是对的.

and I don’t know how to go about creating a new span from scratch that could do it.

好吧,支持LeadingMarginSpan的是Layout和StaticLayout,所以简单地创建TrailingMarginSpan是不够的.您必须创建自己的Layout和StaticLayout的自定义子类,覆盖和克隆它们非常复杂的draw()方法,并注入TrailingMarginSupport.

简而言之,这将是痛苦的.

当然,如果您正在制作自己的固件,这会变得更加简单…… 🙂

点赞