4

私はLinearLayoutを持っています。実行時にアイテムを追加しています。ただし、すべての項目は TOP から BOTTOM に表示されます。今、アイテムをBOTTOMからTOPに表示しようとしています。

つまり。アイテムを線形レイアウトで設定するために、BOTTOMからTOPまで開始したい。

これは私の線形レイアウトです:-

 messagesContainer = (ViewGroup) findViewById(R.id.messagesContainer);
    scrollContainer = (ScrollView) findViewById(R.id.scrollContainer);

   LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
   LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);


    if (!leftSide) {
        bgRes = R.drawable.right_message_bg;
        params.gravity = Gravity.RIGHT;
        params.leftMargin=30;
    }
    else
    {
        params.gravity = Gravity.LEFT;
        params.rightMargin=30;
    }

    textView.setLayoutParams(params);

    textView.setBackgroundResource(bgRes);

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            messagesContainer.addView(textView,messagesContainer.getChildCount());

            //messagesContainer.bringChildToFront(textView);

            // Scroll to bottom
            if (scrollContainer.getChildAt(0) != null) {
                scrollContainer.scrollTo(scrollContainer.getScrollX(), scrollContainer.getChildAt(0).getHeight());
            }
            scrollContainer.fullScroll(View.FOCUS_DOWN);
            scrollContainer.pageScroll(View.FOCUS_DOWN);
        }
    });

私を助けてください。

4

2 に答える 2

9

次のようにプログラムで追加できます。

LinearLayout layout = findViewById(R.id.layout);
layout.addView(newView, index);

常に index = 0 で追加するだけです

また、使用することもできますandroid:gravity="bottom"

于 2013-06-03T11:14:55.463 に答える