如何在动态添加内容的同时使线性布局自动滚动

时间:2011-06-15 06:11:31

标签: android android-linearlayout horizontal-scrolling

我的应用程序包含不同的layouts.one中的一个是线性布局。它的内容是动态添加的。我想在添加内容时使这个布局水平滚动。因为我写了下面给出的代码..

 <LinearLayout android:id="@+id/scoreballparent_layout"
  android:layout_height="wrap_content"
 android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_above="@+id/score_layout">
  <HorizontalScrollView android:layout_height="wrap_content" 
  android:id="@+id/scrollView1" 
  android:layout_width="fill_parent" 
  >
      <LinearLayout android:layout_width="fill_parent" 
      android:id="@+id/scoreball_layout" 
      android:layout_height="wrap_content"
      >

      </LinearLayout>
   </HorizontalScrollView>
 </LinearLayout>

它正在工作..但我想在添加内容时自动滚动它...任何人都可以帮助我PLZ ......

更多源代码:

    private void scoreball_display(String score)
    {
        addscoreball = new Button(getApplicationContext());
        addscoreball.setId(134);
        if(score=="WD" || score=="NB")
        {
            addscoreball.setTextAppearance(this,R.style.plainText);
        }
        else{
            addscoreball.setTextAppearance(this,R.style.BoldText);
        }

        addscoreball.setText(score);
        addscoreball.setSingleLine(true);
        addscoreball.setBackgroundDrawable(getResources().getDrawable      (R.drawable.white_ball));
        addscoreball.setGravity(Gravity.CENTER_HORIZONTAL);
        addscoreball.setGravity(Gravity.CENTER_VERTICAL);
        LinearLayout.LayoutParams addscoreball_Params = 
            new LinearLayout.LayoutParams(35,35);  
        scoreballlayout.addView(addscoreball,addscoreball_Params);

        }

在这种方法中,它为我的布局添加了更多内容...

3 个答案:

答案 0 :(得分:3)

<ScrollView>作为父布局......

答案 1 :(得分:1)

添加新元素时必须更新UI

首先使用以下代码初始化Horizo​​natlScrollView

HorizontalScrollView s = (HorizontalScrollView) findViewById(R.id.HorizontalScrollView01);

添加新元素时,使用以下行滚动Horizo​​ntalScrollView

runOnUiThread(new Runnable() {

            public void run() {
                // TODO Auto-generated method stub
                s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);

            }
        });

由于 迪帕克

答案 2 :(得分:0)