如何在android中滚动动态移动视图

时间:2015-07-31 06:49:45

标签: android android-layout android-linearlayout android-view

我正在进行分配,其中需要在用户滚动列表时动态调整视图宽度和高度。

建议的屏幕将包含两部分

一个。线性布局

  1. 图片视图
  2. 文字视图和
  3. 垂直按钮。
  4. B.Scroll视图(线性布局下方) - 这将在内部包含一些子视图。

    最初LinearLayout应该以垂直(具有固定的高度和宽度)顺序显示其成员,但是一旦用户向上滚动它应该将其成员更改为水平(高度和宽度减小以水平固定到屏幕)

2 个答案:

答案 0 :(得分:0)

滚动视图只有一个父级子级。 在scrollview之后创建一个线性布局,然后在其中实现您的代码..

如下面的代码......

<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>

答案 1 :(得分:0)

滚动视图的子类并覆盖其中的onScrollChanged方法。在onScrollChanged方法中更改顶部线性布局的方向(即垂直线性布局)

editor.on( 'paste', function( evt ) {
    console.log( evt.data.dataTransfer.getData( 'text/html' ) );
    console.log( evt.data.dataTransfer.getFilesCount() );
} );

或者你可以通过添加滚动更改监听器来实现,如下所示

  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);
    }
  }