【问题标题】:Android: ExpandableListActivity icons overlapping textAndroid:ExpandableListActivity 图标重叠文本
【发布时间】:2011-12-29 22:59:23
【问题描述】:

我正在尝试基于 API Demos Sample Code 构建一个非常简单的 ExpandableListActivity:

不幸的是,尽管演示只使用了默认布局,但布局看起来并不正确。似乎文本缩进不够,以至于展开/折叠图标与列表项文本重叠,如屏幕截图所示。

为什么会发生这种情况,我该如何解决?

谢谢!

【问题讨论】:

    标签: android expandablelistview


    【解决方案1】:

    问题出在示例代码的getGenericTextView()方法上:

    // Set the text starting position
    textView.setPadding(36, 0, 0, 0);
    

    setPadding(...) 以像素为单位设置填充(内部空间),这意味着这种缩进方法的结果会因设备而异。您似乎正在使用水平屏幕分辨率相对较大的 hdpi 设备,导致 TextView 左侧的视觉空间太小。关于这个问题的更多解释,请阅读documentation here

    话虽如此,您可以通过设置密度独立像素 (d(i)p) 值轻松克服该问题,这样视觉上的缩进空间在不同分辨率下将是相同的。您可以为此使用TypedValue 实用程序类:

    int dips = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 36, getResources().getDisplayMetrics());
    

    或者,您可以从 xml 扩展 TextView,您可以在设计时在其上设置与密度无关的属性,而不是在运行时动态进行。

    【讨论】:

    • 但它没有解决包含所有屏幕尺寸的布局。创可贴代码。
    • @moonlightcheese:显然,这并不是完整的解决方案。我相信您可以使用给定的指针找出一些答案。
    猜你喜欢
    • 2017-09-09
    • 2020-11-23
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多