2015-04-16 10 views
3

Я хочу создать Scrollview с кодом,Android студии добавить Scrollview программно не прокручивается

Я создал Scrollview и LinearLayout, но не прокручивается вниз,

Что я должен сделать для способена для прокрутки

вы можете найти скриншот следующую ссылку http://screencast.com/t/bbDcDWoScPyM

Вот активность XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:id="@+id/rlt" 
       android:theme="@style/Theme.AppCompat.Light.NoActionBar" 
       android:descendantFocusability="beforeDescendants" 
       android:focusableInTouchMode="true" 
       tools:context="com.test.test.test"> 
</RelativeLayout> 

и вот код Java

RelativeLayout lL = (RelativeLayout) findViewById(R.id.rlt); 

     ScrollView sv= new ScrollView(this);//(ScrollView) findViewById(R.id.svScroll); 

     LinearLayout sahne = new LinearLayout(this); 

     sahne.setOrientation(LinearLayout.VERTICAL); 

     txt1.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt2.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt3.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt4.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt5.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt6.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 
     txt7.setLayoutParams(new LinearLayout.LayoutParams(textRequireWidth,textRequireHeight)); 

     sahne.addView(txt1); 
     sahne.addView(txt2); 
     sahne.addView(txt3); 
     sahne.addView(txt4); 
     sahne.addView(txt5); 
     sahne.addView(txt6); 
     sahne.addView(txt7); 
     sahne.addView(btn1); 

     sv.addView(sahne); 

     lL.addView(sv); 
+1

Вы пытались установить параметры макета на своих 'ScrollView' и' LinearLayout'? – xbakesx

+0

Вы пробовали установить layout_width и layout_height для ScrollView sv и LinearLayout sahne? Я считаю, что эти параметры требуются. – Aster

+0

есть, но не работает –

ответ

2

меняю некоторый порядок кода и написать демонстрационное. Попробуйте:

RelativeLayout lL = (RelativeLayout) findViewById(R.id.rlt); 

    ScrollView sv= new ScrollView(this);//(ScrollView) findViewById(R.id.svScroll); 
    sv.setLayoutParams(new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT,ScrollView.LayoutParams.MATCH_PARENT)); 
    lL.addView(sv); 

    LinearLayout sahne = new LinearLayout(this); 
    sahne.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT)); 
    sahne.setOrientation(LinearLayout.VERTICAL); 
    sv.addView(sahne); 
    TextView[] textViews = new TextView[20]; 
    for(int i = 0; i < 20; i++){ 
     textViews[i] = new TextView(this); 
     textViews[i].setLines(2); 
     textViews[i].setText("Bla bla bla bla"); 
     textViews[i].setGravity(Gravity.CENTER); 
     textViews[i].setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
     sahne.addView(textViews[i], i, new ViewGroup.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); 
    } 
Смежные вопросы