我試圖以編程方式將一大堆textViews添加到已經存在的LinearLayout中,該列已經包含一些文字瀏覽。要動態添加的文本視圖應放置在LinearLayout中已存在的文本視圖的右側,從而超出屏幕區域。向HorizontalScrollView動態添加TextViews
但是,當我動態添加文本查看時,已存在的文本查看佔用的寬度減小,以適應不需要的動態添加的文本查看。有沒有辦法讓已經存在的textviews繼續佔據相同的區域,動態的會被添加到屏幕之外。
一些基本代碼:
XML文件
<HorizontalScrollView 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:fillViewport="true">
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mediaapp.prototypingcanvas.LaunchFragment"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_marginLeft="20dp"
android:paddingLeft="5dp"
android:layout_below="@+id/toggleButton"
android:layout_marginStart="20dp"
android:id="@+id/ll">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Action"
android:textColor="@color/textColorPrimary"
android:layout_weight="0.2"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="SurveyID"
android:textColor="@color/textColorPrimary"
android:layout_weight="0.2"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:text="Status"
android:textColor="@color/textColorPrimary"/>
<TextView
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="wrap_content"
android:text="CreatedOn"
android:textColor="@color/textColorPrimary"/>
<TextView
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="wrap_content"
android:text="Version"
android:textColor="@color/textColorPrimary"
/>
</LinearLayout>
相應的Java代碼:
ll = (LinearLayout)getView().findViewById(R.id.ll);
lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lparams.setMargins(5,0,5,0);
for (int i = 0; i <WebRepo.headerListToBeShown.length; i++) {
TextView tv = new TextView(context);
tv.setText(WebRepo.headerListToBeShown[i].toString().toUpperCase());
tv.setId(Integer.parseInt(i +"1"));
tv.setX();
tv.setLayoutParams(lparams);
// li.addView(tv);
ll.addView(tv);
使用水平列表視圖。 – Ali
@Ali可否請您詳細說明一下 –