【发布时间】:2017-07-16 05:12:25
【问题描述】:
我是 Android 开发新手,想就 UI 问题提供一些意见。我需要一个事物列表,每个事物都有编号(最多 20 个项目),每个项目都有 1-4 个“子项目”,有点像草图中所示(除了正确对齐)。该数字应该充当一个大按钮,而右侧的子项部分应该充当另一个大按钮(每行的两个可点击区域以红色框显示)。那么我的问题是,构建这样一个界面的理想的、最适合 Android 的方式是什么?
我目前有一个非常简单的演示,在 ScrollView 中使用 TableLayout 构建,其中每个 TableRow 有两列宽(第一个单元格包含单个 TextView 中的数字,第二个包含 TextViews 的 LinearLayout,每个子项一个);但是,我有几个问题:
只有 TextViews(不是周围的填充)是可点击的;我希望整个红色框都可以点击,但实际上只有绿色框可以点击
没有点击动画
我什至还没有尝试让子项区域可点击,但在我看来,我至少需要使每个子项 (TextView) 可点击(这需要将点击处理程序添加到每个子项分开),即使那样我也会遇到严格来说 TextView 本身是可点击的问题,而不是整个单元格
我想到的一些选项:
对左侧的数字使用平面按钮而不是 TextView;这将处理动画/反馈方面,但我不确定这是否会解决填充不可点击的问题,或者它如何在子项列中工作
使用 ListView 代替 TableLayout;我不知道我需要什么样的黑魔法才能使左侧的所有按钮大小相同/对齐子项列表,我仍然不知道如何使数字足够大以便用户不会'不小心错过了
我还没有想到的其他一些合适的解决方案,不涉及任何强硬和丑陋的解决方法
怎么办?我目前的方法是否已经合理,只是需要一些我还不知道的简单调整?
【问题讨论】:
-
如果只想在textViews中添加动画可以参考这里stackoverflow.com/a/34128965/6171845
标签: android android-layout listview android-tablelayout