как сделать линейный макет автоматически прокручиваемым при динамическом добавлении его содержимого - PullRequest
1 голос
/ 15 июня 2011

Мое приложение содержит разные макеты. Одно из них представляет собой линейный макет. Он динамически добавляется в него. Я хочу сделать горизонтальную прокрутку этого макета при добавлении его контента. Для этого я написал код, приведенный ниже.

 <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>

это работает .. но я хочу прокрутить его автоматически при добавлении содержимого ... кто-нибудь может мне помочь, плз ...

больше исходного кода:

    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 ]

3 голосов
/ 15 июня 2011

Положите <ScrollView> в качестве родительского макета ...

1 голос
/ 15 июня 2011

Вы должны обновить свой пользовательский интерфейс при добавлении нового элемента.

. Сначала инициализируйте HorizonatlScrollView, используя следующий код

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

при добавлении нового элемента, используйте следующую строку для прокруткиHorizontalScrollView

runOnUiThread(new Runnable() {

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

            }
        });

Спасибо, Deepak

0 голосов
/ 15 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...