首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telegram android消息单元

Telegram android消息单元
EN

Stack Overflow用户
提问于 2015-09-08 19:41:35
回答 2查看 875关注 0票数 4

我正在尝试在android中做一个类似Telegram message box的布局。

当文本很短时,消息和时间在一行中对齐,如下所示:

但是当消息文本更长时,文本视图被推到消息的底部,如下所示:

我如何才能做到这一点?

附注:我试着读了电报的来源,但没能弄清楚。我尝试在适配器中获取文本视图的大小,但没有成功。

EN

回答 2

Stack Overflow用户

发布于 2015-09-08 20:43:58

实际上它们不是在一行中对齐的。:D我认为您可以通过在RelativeLayout中包装time的TextView来实现这一点:

代码语言:javascript
复制
<LinearLayout android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:orientation="horizontal" 
          android:background="@drawable/background" 
          android:padding="10dp" >  

<TextView style="@style/TextView_port" 
          android:id="@+id/text" 
          android:text="Text"  />

<RelativeLayout style="@style/LinearLayout" 
                android:layout_below="@id/text" 
                android:layout_margin="10dp" 
                android:gravity="right" >

    <TextView style="@style/TextView_port" 
              android:text="3:59pm" 
              android:textColor="#73B661"  />

</RelativeLayout>

</LinearLayout>

在这里,我发现了一个技巧,可以将文本对齐设置为对齐:

https://dzone.com/articles/android-%E2%80%93-how-display

编辑

我终于想出了解决方案-上面编辑的代码是为了简短的文本。通过编程检查文本的长度,如果长度大于20,例如将线性的方向设置为垂直,将时间TextView的上边距设置为-20 -如果您不知道如何设置,我将在稍后更新我的答案:)

票数 0
EN

Stack Overflow用户

发布于 2015-09-08 20:50:26

您显示的示例看起来像一个包含两个TextViewRelativeLayout (第一个TextView左上角和第二个TextView右下角)。

应该可以通过使用一个RelativeLayout和两个TextViews来实现这一点。应根据文本长度正确定位TextViews (第二个TextView显示时间应始终位于右下角)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32456885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档