【问题标题】:Message list items need to start from bottom消息列表项需要从底部开始
【发布时间】:2016-07-22 01:19:43
【问题描述】:

我只需要一个线性或相对布局,我以编程方式添加项目,但它们需要从底部开始,就像消息线程通常做的那样,我该怎么做?

【问题讨论】:

    标签: android android-layout android-linearlayout message android-relativelayout


    【解决方案1】:

    我建议使用 ListView 或 RecyclerView,但如果您必须使用非收集友好的布局,我会选择 LinearLayout,因为我发现在代码中设置更容易。您只需将其方向设置为垂直并始终在位置 0 添加子视图。例如,这将添加 10 个从下到上的文本视图:

    LinearLayout ll = (LinearLayout)findViewById(R.id.linear);
    for (int i = 0; i < 10; i++)
    {
        TextView tv = (TextView)LayoutInflater.from(this).inflate(R.layout.text_view, null);
        tv.setText(String.valueOf(i));
        ll.addView(tv, 0);
    }
    

    不要忘记将 LinearLayout 包装到可滚动的容器中,以防您的元素超出屏幕的显示范围。

    【讨论】:

    • 您好,感谢您的回复。我刚刚尝试过,但它仍然出现在线性布局的顶部而不是底部,除了刚才所说的之外,我可能没有正确完成一些事情吗?
    • 我以为你的意思是子视图的顺序需要是“最新的”。但我想你需要的是,如果假设只有两个孩子,你希望他们出现在屏幕底部而不是顶部。如果这是您想要的(并且您仍然想使用LinearLayout :-)),您可以在LinearLayout 上设置android:gravity="bottom",在ScrollView 上设置android:fillViewport="true"
    • 我也尝试过使用它,但效果相同,虽然我解决了它,但没关系我将滚动视图包装在相对布局中,滚动视图高度是包装内容并对齐父底部,然后它只是从底部到顶部,添加视图时,我将其添加到 0,使其成为底部项目。谢谢你的帮助!!!
    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2018-05-07
    • 2020-03-01
    相关资源
    最近更新 更多