当前位置: 代码迷 >> Android >> 这样一个顶部标题栏的布局该如何写
  详细解决方案

这样一个顶部标题栏的布局该如何写

热度:61   发布时间:2016-05-01 12:36:10.0
这样一个顶部标题栏的布局该怎么写?
a            b              c
图片         文字及图片      图片


a和c是固定尺寸,希望a始终在屏幕最左端完整显示,c始终在屏幕最右端完整显示;

b里面文字会有长有短,b里面图片是固定尺寸;

 现在希望b的宽度为屏幕总宽-(a+c)尺寸

难点在于希望当b文字比较短时,b图片贴着b文字右端显示,
b文字超出长度时,b图片完整显示,b文字缩略显示,比如 abc...


请提点,谢谢。

同一问题网址,http://bbs.csdn.net/topics/390305015再开了一帖。。
------最佳解决方案--------------------
把b拆开呢?
b1用来显示字
b2用来显示图片

现在是3列,换成4列呢?

------其他解决方案--------------------
设置android:singleLine="true"
超出的字数会自动缩略
------其他解决方案--------------------
引用:
把b拆开呢?
b1用来显示字
b2用来显示图片

现在是3列,换成4列呢?


是可以的,但是如果
b1 不设置 android:layout_weight="1" 
b1文字多时不能缩略显示

b1 设置 android:layout_weight="1" 
b1文字多时能缩略显示,b2也总能显示
在b1文字少时,b2不能贴着文字显示,因为b1撑足页面宽了。。

b1 b2均设置 android:layout_weight="1" 
在b1文字少时,b2不能贴着文字显示,因为b1/b2平均分页面宽。。
------其他解决方案--------------------
引用:
引用:把b拆开呢?
b1用来显示字
b2用来显示图片

现在是3列,换成4列呢?

是可以的,但是如果
b1 不设置 android:layout_weight="1" 
b1文字多时不能缩略显示

b1 设置 android:layout_weight="1" 
b1文字多时能缩略显示,b2也总能显示
在b1文字少时……

关键就在于b1文字的多少
不同的设备有不同的屏幕,所以缩略时的字数也不是确定的,很麻烦啊。

------其他解决方案--------------------
引用:
关键就在于b1文字的多少
 不同的设备有不同的屏幕,所以缩略时的字数也不是确定的,很麻烦啊。


看来是个比较难处理的问题呢。
再看看其他人有没有好办法:)
------其他解决方案--------------------
引用:
引用:关键就在于b1文字的多少
 不同的设备有不同的屏幕,所以缩略时的字数也不是确定的,很麻烦啊。

看来是个比较难处理的问题呢。
再看看其他人有没有好办法:)

试过
仅b2设置weight=1了么
------其他解决方案--------------------
引用:
仅b2设置weight=1了么


试过,b1不设置weight=1,就不会缩略显示过长的文字。

引用:
设置android:singleLine="true"
超出的字数会自动缩略


这个设置过了,ellipsize="end"也设过了,但还是上面的问题,b1不设置weight=1,就不会缩略显示过长的文字。
------其他解决方案--------------------
引用:
引用:仅b2设置weight=1了么

试过,b1不设置weight=1,就不会缩略显示过长的文字。

引用:设置android:singleLine="true"
超出的字数会自动缩略

这个设置过了,ellipsize="end"也设过了,但还是上面的问题,b1不设置weight=1,就……


我刚试了一下,不知道行不行。
先对b1设置weight=1,b2不管。
然后在activity中对b1的文件长度进行判断
if(b1Str.length>=4)
b1.setWidth(数值(根据b1的字体大小来定));
setWidth的数值是以px为单位的,关于px dp sp的关系,
http://www.eoeandroid.com/thread-410-1-1.html帖子里有一个介绍。


点完button后(你可以不设button,直接把判断写在初始化里面)

------其他解决方案--------------------
引用:
我刚试了一下,不知道行不行。
 先对b1设置weight=1,b2不管。
 然后在activity中对b1的文件长度进行判断
if(b1Str.length>=4)……
  相关解决方案