Android TextView中的可滚动背景

时间:2011-12-04 17:18:13

标签: android android-edittext textview

我有一个带有平铺背景的TextView定义为

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/tile" 
android:tileMode="repeat" />

工作正常,但问题是当我向下滚动阅读更多文本时,背景停留在同一个地方,而我希望它与文本一起滚动。 任何想法都赞赏。

文本视图定义为:

<view xmlns:android="http://schemas.android.com/apk/res/android"
class="com.example.android.notepad.NoteEditor$LinedEditText"
android:id="@+id/note"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/app_bg_r"
android:textColor="#666666"
android:padding="5dp"
android:scrollbars="vertical"
android:fadingEdge="vertical" 
android:gravity="top"
android:textSize="22sp"
android:lineSpacingExtra ="7sp"
android:capitalize="sentences" />

LinedEditText类除了设置自定义字体外什么都不做。

文本视图在Activity的onCreate with

中设置
setContentView(R.layout.note_editor);

1 个答案:

答案 0 :(得分:0)

可能有一种方法可以让它仅使用TextView,但如果没有其他人提出解决方案,我建议将TextView包装在某种类型的ViewGroup(FrameLayout,RelativeLayout,LinearLayout等)中然后包装用ScrollView。它可能不是最好的解决方案,因为它增加了很多视图,但它可能会有效。

将背景设置为ViewGroup,并在TextView周围设置wrap_content。让ScrollView处理滚动。

您可以在没有额外ViewGroup的情况下尝试查看背景是否可以在ScrollView上运行,但您可能会再遇到同样的问题。

<ScrollView
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
   <RelativeLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/app_bg_r" >
      <TextView
           android:layout_width="wrap_content"           
           android:layout_height="wrap_content" />
   </RelativeLayout>
</ScrollView>