【发布时间】:2015-05-26 15:26:35
【问题描述】:
我需要使用 ListView1.TwoLinesAndBitmap
我有一个奇怪的问题来设置标签,SecondLabel,垂直居中的图像视图
我看到所有示例都将 itemheight 设置为:60dip
但是当我在一些高分辨率和密度设备(如联想 10 英寸平板电脑)中测试 listview 时,itemheight 的高度会非常小
所以我决定使用 Y 的百分比作为 itemheight
这是我的代码:**********
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)都存在问题,并且没有一个加载好
在索尼 V 中: - 顶部负载 -SecondLabel 在底部加载 - imageview 不是垂直居中
在联想瑜伽中: - 顶部负载 -SecondLabel 在顶部标签后立即加载 - imageview 不垂直居中
在 avd 模拟器中: - 顶部有标签负载,顶部有更好的空间 -SecondLabel 在底部(0 位置)!!
我很困惑并尝试更改各种选项但完全没有运气
这是我为所有 3 台设备拍摄的屏幕截图:
【问题讨论】:
标签: android-listview basic4android