android 如何在滚动时动态移动视图
How to move views dynamically on scroll in android
我正在做作业,要求在用户滚动列表时动态调整视图宽度和高度。
提议的屏幕将包含两部分
一个。
的线性布局
- 图像视图
- 文本视图和
- 垂直按钮。
B.Scroll 视图(在线性布局下方)- 这将在内部包含一些子视图。
最初 LinearLayout
应按垂直(固定高度和宽度)顺序显示其成员,但一旦用户向上滚动,它应将其成员更改为水平(高度和宽度减小以水平固定在屏幕中)
滚动视图只有一个父子视图。
在 scrollview 之后创建一个 Linear Layout 然后在里面实现你的代码..
喜欢下面的代码...
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txt"/>
</LinearLayout>
子类化滚动视图并覆盖 it.In 中的 onScrollChanged 方法 onScrollChanged 方法更改顶部线性布局(即垂直线性布局)的方向
public class MyScrollView extends ScrollView {
public MyScrollView(Context context) {
super(context);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
}
}
或者您可以像下面这样添加滚动更改侦听器来完成
scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollY = scrollView.getScrollY();
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
}
});
我正在做作业,要求在用户滚动列表时动态调整视图宽度和高度。
提议的屏幕将包含两部分
一个。
的线性布局- 图像视图
- 文本视图和
- 垂直按钮。
B.Scroll 视图(在线性布局下方)- 这将在内部包含一些子视图。
最初 LinearLayout
应按垂直(固定高度和宽度)顺序显示其成员,但一旦用户向上滚动,它应将其成员更改为水平(高度和宽度减小以水平固定在屏幕中)
滚动视图只有一个父子视图。 在 scrollview 之后创建一个 Linear Layout 然后在里面实现你的代码..
喜欢下面的代码...
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txt"/>
</LinearLayout>
子类化滚动视图并覆盖 it.In 中的 onScrollChanged 方法 onScrollChanged 方法更改顶部线性布局(即垂直线性布局)的方向
public class MyScrollView extends ScrollView {
public MyScrollView(Context context) {
super(context);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
}
}
或者您可以像下面这样添加滚动更改侦听器来完成
scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollY = scrollView.getScrollY();
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
}
});