我是Android开发的新手,想要对UI问题进行一些输入。我需要一个列表,每个都有编号(最多约20个项目),每个都有1-4个“子项目”,类似于草图中显示的(除了正确对齐)。该数字应该作为一个大按钮,而右边的子项目部分应该作为另一个大按钮(每行的两个可点击区域用红色框显示)。那么我的问题是,构建这样的界面的理想,最安全的方式是什么?
我目前有一个非常简单的演示工作,在ScrollView中使用TableLayout构建,其中每个TableRow是两列宽(第一个单元格包含单个TextView中的数字,第二个单元格包含TextViews的LinearLayout,每个子项目一个) );但是,我有几个问题:
只有TextViews(不是周围的填充)可以点击;我希望整个红色框都可以点击,但只有绿色框实际上是
没有点击动画
我甚至没有试过让子项目区域可点击,但在我看来,我至少需要让每个子项目(TextView)可点击(这需要将点击处理程序添加到每个子项目单独),即使这样,我也会遇到严格的问题,即TextView本身是可点击的,而不是整个单元格
我想到的一些选项:
使用平面按钮代替TextViews作为左侧的数字;这将照顾动画/反馈方面,但我不确定这是否会解决填充不可点击的问题,或者它如何在子项目列中工作
使用ListView而不是TableLayout;我不知道我需要什么样的黑暗魔法才能使左侧的所有按钮大小相同/对齐子项列表,我仍然不知道如何使数字足够大以便用户赢得'不小心错过了
其他一些我尚未想到的正确解决方案,不涉及任何鞋类和丑陋的解决方法
怎么办?我目前的做法是否已经合理,只是需要一些我不知道的简单调整?
答案 0 :(得分:1)
您可以根据需要以编程方式添加按钮
public void AddAll() {
final RelativeLayout rl = (RelativeLayout)findViewById(R.id.rel);
for(int i=0;i<4;i++)
{
final Button btn = new Button(this);
rl.addView(btn);
btn.setText("Button");
btn.setWidth(320);
btn.setHeight(40);
}
}