Mam ten układ dla fragmentu, który musi zawierać widok przewijania i przycisk:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="10dp" >
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include
android:id="@+id/row1"
android:layout_width="fill_parent"
layout="@layout/catalog_row" />
<View
android:layout_width="match_parent"
android:layout_height="20dip"
android:alpha="0"
android:background="#FFFFFF" />
<include
android:id="@+id/row2"
android:layout_width="fill_parent"
layout="@layout/catalog_row" />
<View
android:layout_width="match_parent"
android:layout_height="20dip"
android:alpha="0"
android:background="#FFFFFF" />
<include
android:id="@+id/row3"
android:layout_width="fill_parent"
layout="@layout/catalog_row" />
<View
android:layout_width="match_parent"
android:layout_height="20dip"
android:alpha="0"
android:background="#FFFFFF" />
<include
android:id="@+id/row4"
android:layout_width="fill_parent"
layout="@layout/catalog_row" />
<View
android:layout_width="match_parent"
android:layout_height="20dip"
android:alpha="0"
android:background="#FFFFFF" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/more_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="more"
android:visibility="invisible" />
</RelativeLayout>
Teraz w pewnych warunkach (kiedy przycisk stanie się widoczny, a użytkownik kliknie na niego) dodam wewnątrz scrollView inne układy „catalog_row”. Jak mogę to zrobić programowo?
Odpowiedzi:
1 dla odpowiedzi № 1Musisz podać identyfikator LinearLayout wewnątrz ScrollView, więc w kodzie będziesz:
LinearLayout l = (LinearLayout) findViewById(R.id.yourID);
a następnie po prostu:
l.addView(yourView);
Pamiętaj, że ScrollView może mieć tylko jedno dziecko, więc jeśli potrzebujesz innego układu, musisz skonfigurować układ nadrzędny, aby zawierał stary i nowy.
Mam nadzieję, że to pomoże.