Android:ExpandableListActivity图标重叠文本

Bri*_*acy 5 android expandablelistview

我正在尝试基于API演示示例代码构建一个非常简单的ExpandableListActivity :

默认布局显示为已断开,因为展开/折叠图标与列表项文本重叠.

不幸的是,即使演示只使用默认布局,布局看起来也不正确.看起来文本没有足够的缩进,使得展开/折叠图标与列表项文本重叠,如屏幕截图所示.

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

谢谢!

MH.*_*MH. 6

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

// Set the text starting position
textView.setPadding(36, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

setPadding(...)以像素为单位设置填充(内部空间),这意味着每个设备的缩进方法的结果会有所不同.您似乎正在使用具有相对较大的水平屏幕分辨率的hdpi设备,导致TextView左侧的视觉空间太小.有关此问题的更多解释,请阅读此处文档.

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

int dips = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 36, getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)

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