B4a Listview TwoLines垂直居中

时间:2015-04-27 11:29:51

标签: android-listview basic4android

我需要使用ListView1.TwoLinesAndBitmap

我有一个奇怪的问题,在垂直中心设置标签,SecondLabel,imageview

因为我看到所有示例都将itemheight设置为:60dip

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

所以我决定使用Y的百分比作为项目高度

这是我的代码:**********

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

我尝试将所有项目置于中心垂直中心但是当我附加图像时,所有三个设备(索尼V,联想平板电脑,AVD)都存在问题,并且它们都没有加载好

索尼五世: 顶部可装载荷 -SecondLabel加载到底部 - imageview不是垂直中心

在联想瑜伽中: 顶部可装载荷 -SecondLabel在标签顶部加载 - imageview不是垂直中心

在avd模拟器中: 顶部有可用的负载,顶部有一个更好的空间 -SecondLabel在底部(0位置)!!

我很困惑,并试图改变各种选择,但没有运气

以下是我对所有3台设备的截图:

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

1 个答案:

答案 0 :(得分:0)

尝试此替换和添加;

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