【问题标题】:B4a Listview TwoLines Vertical CenteringB4a Listview TwoLines 垂直居中
【发布时间】: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 台设备拍摄的屏幕截图:

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

【问题讨论】:

    标签: android-listview basic4android


    【解决方案1】:

    试试这个替换和添加;

    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
    

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 2013-10-15
      • 2015-08-02
      • 1970-01-01
      • 2012-12-29
      • 2011-07-07
      • 2014-02-27
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多