本来是想做一个显示文字信息的,当文字很多时View的高度不能超过一个固定的值,当文字很少时View的高度小于那个固定值时,按View的高度显示。因为ScrollView没有maxHeight,无法满足需求,只好另找方法了。
View本身是可以设置ScrollBar,这样就不一定需要依赖ScrollView了。TextView有个属性maxLine,这样也就满足了需求了,只要设置一个TextView带ScrollBar的,然后设置maxLine就可以了。
<TextView
android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="false"
android:maxLines=""
android:scrollbars="vertical"
/>
还需要在代码了设置TextView可以滚动。
TextView textView = (TextView)findViewById(R.id.text_view);
textView.setMovementMethod(ScrollingMovementMethod.getInstance());
如果用ScrollView ,代码如下
<ScrollView
android:layout_width="745dip"
android:layout_height="520dip"
android:id="@+id/mBtnRe2"
android:layout_marginTop="30dip"
android:layout_marginLeft="30dip"
android:fadingEdge="none"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mTxtContent"
android:textSize="25sp"
android:textColor="#000000"
android:fadingEdge="none"
/>
</ScrollView>
ScrollView可以调整滑动速度,自己实现ScrollView
* 快/慢滑动ScrollView
* @author 农民伯伯
*
*/
public class SlowScrollView extends ScrollView { public SlowScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
} public SlowScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
} public SlowScrollView(Context context) {
super(context);
} /**
* 滑动事件
*/
@Override
public void fling(int velocityY) {
super.fling(velocityY / );
}
}