首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >B4a列表视图TwoLines垂直居中

B4a列表视图TwoLines垂直居中
EN

Stack Overflow用户
提问于 2015-04-27 19:29:51
回答 1查看 1.5K关注 0票数 0

我需要使用ListView1.TwoLinesAndBitmap

我在垂直居中设置lable,SecondLabel,imageview时遇到了奇怪的问题

正如我看到的所有示例一样,将itemheight设置为类似于: 60dip

但是当我在一些高分辨率和高密度设备上测试listview时,比如联想10英寸平板电脑,itemheight的高度会非常小

因此,我决定使用Y的百分比作为项目高度

我的代码如下:*

代码语言:javascript
复制
ListView1.TwoLinesAndBitmap.ItemHeight = 10%y
ListView1.TwoLinesAndBitmap.ImageView.Height = ListView1.TwoLinesAndBitmap.ItemHeight - 20dip
ListView1.TwoLinesAndBitmap.ImageView.Width = ListView1.TwoLinesAndBitmap.ImageView.Height
ListView1.TwoLinesAndBitmap.ImageView.Gravity = Gravity.CENTER

ListView1.TwoLinesAndBitmap.Label.TextColor = Colors.Black
ListView1.TwoLinesAndBitmap.Label.Left = ListView1.Left
ListView1.TwoLinesAndBitmap.Label.Width = ListView1.Width
ListView1.TwoLinesAndBitmap.Label.Height = ListView1.TwoLinesLayout.ItemHeight/2
ListView1.TwoLinesAndBitmap.Label.Gravity = Gravity.CENTER + Gravity.CENTER_VERTICAL
ListView1.TwoLinesAndBitmap.Label.TextSize = ListView1.TwoLinesAndBitmap.ItemHeight * 170/1000dip


ListView1.TwoLinesAndBitmap.SecondLabel.Left = ListView1.Left
ListView1.TwoLinesAndBitmap.SecondLabel.Width = ListView1.Width
ListView1.TwoLinesAndBitmap.SecondLabel.Height =  ListView1.TwoLinesLayout.ItemHeight/2
ListView1.TwoLinesAndBitmap.SecondLabel.Gravity = Gravity.CENTER + Gravity.CENTER_VERTICAL
ListView1.TwoLinesAndBitmap.SecondLabel.TextSize = ListView1.TwoLinesAndBitmap.ItemHeight * 150/1000dip

我尝试将所有项目垂直居中,但当我附加图像时,所有三个设备( Sony V、Lenovo tablet、AVD )都有问题,而且没有一个加载良好

在索尼V中:-lable加载在顶部,-SecondLabel加载在底部-图像视图不是垂直居中

在联想瑜伽中:-lable加载在顶部,-SecondLabel加载在顶部标签之后-图像视图而不是中心垂直

在avd模拟器中:在顶部加载-lable,从顶部开始留出更好的空间,在底部加载-SecondLabel (0位置) !!

我非常困惑,试图改变各种选择,但根本没有运气。

这是我拍摄的这3款设备的截图:

http://i58.tinypic.com/650k1u.jpg

EN

回答 1

Stack Overflow用户

发布于 2015-05-26 15:26:36

尝试这个替换和添加;

代码语言:javascript
复制
ListView1.TwoLinesAndBitmap.ImageView.Left = (ListView1.Width - ListView1.TwoLinesAndBitmap.ImageView.Width)/2

ListView1.TwoLinesAndBitmap.Label.Left = 0

ListView1.TwoLinesAndBitmap.SecondLabel.Left = 0
ListView1.TwoLinesAndBitmap.SecondLabel.Top =  ListView1.TwoLinesLayout.ItemHeight/2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29894500

复制
相关文章

相似问题

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