0

我正在动态创建一个包含图像和 TextView 的视图,然后将其添加到 ViewFlipper 中。这一切都有效,因为问题是我需要滚动条始终可见,但是我无法让它工作并且不确定我做错了什么。

下面是我的动态代码和我试图复制的 xml 代码

for(int i = 0; i < 5; i++)
{
    // Creating my linear layouts & views
    lls = new LinearLayout(this);
    llv = new LinearLayout(this);
    lls.setOrientation(LinearLayout.VERTICAL);

    // Adding image view
    imgStory = new ImageView(this);
    imgStory.setImageResource(GetImage(i));
    imgStory.setLayoutParams(new LayoutParams(width, width));
    lls.addView(imgStory);

    // adding textview, which is scrollable
    txtStory = new TextView(this);
    txtStory.setText(unescape(story.get(i)));
    txtStory.setTextColor(getResources().getColor(R.color.orange));
    txtStory.setPadding((int)padding, (int)padding, (int)padding, (int)padding);
    txtStory.setMovementMethod(new ScrollingMovementMethod());
    //txtStory.setVerticalScrollBarEnabled(true);
    //txtStory.setVerticalFadingEdgeEnabled(false);
    lls.addView(txtStory);

    // Adding views to my view flipper
    llv.addView(lls);
    viewFlipper.addView(llv, i);
}

我试图以编程方式复制的 XML 代码

<TextView
    android:id="@+id/txtStoryText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imgStoryLine"
    android:layout_above="@+id/footer"
    android:layout_margin="20dp"
    android:scrollbars="vertical"
    android:scrollbarSize="10dp"
    android:fadeScrollbars="false"
    android:textColor="@color/orange"
    android:text="" />
4

1 回答 1

1

如何尝试使用ScrollView作为最顶层的父级。所以,像这样:

// Creating my linear layouts & views
lls = new LinearLayout(this);
llv = new ScrollView(this);  // This looks like the view you're adding to the viewFlipper
lls.setOrientation(LinearLayout.VERTICAL);

或者,如果只是要滚动的文本,则将第一个 LinearLayout 设为 Scrollview:

// Creating my linear layouts & views
    lls = new ScrollView(this); // This wraps your textView
    llv = new LinearLayout(this);  
    lls.setOrientation(LinearLayout.VERTICAL);

注意:这未经测试。只是想给你一个想法。您可能必须为 ScrollView 指定更多布局参数才能使其正常工作。

您还可以查看他们谈论设置的帖子:

textView.setMovementMethod(new ScrollingMovementMethod())
于 2013-10-17T14:54:34.310 回答