我正在尝试以编程方式将一大堆textView添加到已经存在的LinearLayout,其中已经包含一些textview。要动态添加的文本视图应放置在LinearLayout中已存在的文本视图的右侧,从而超出屏幕区域。
但是当我动态添加文本视图时,已经存在的文本视图占用的宽度减小,以便容纳动态添加的不需要的文本视图。是否有一种方法可以使已经存在的文本视图继续占据相同的区域,并在屏幕之外添加动态文本视图。
一些基本代码:
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);
答案 0 :(得分:1)
您应该使用ListView,并将listview的oriantion设为水平。 ListView是可以动态更改的项目列表。
搜索在Google中使用水平列表视图。
答案 1 :(得分:0)
可以和我一起工作..你可以添加包含文本的arraylist到水平列表视图
https://guides.codepath.com/android/implementing-a-horizontal-listview-guide