使用水平滚动视图从右向左滚动

时间:2016-03-22 08:48:27

标签: android xml

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillViewport="true"
    android:id="@+id/resend_scroll">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="110dp"
        android:orientation="horizontal">

        <include layout="@layout/partial_resend_layout"
            android:layout_height="110dp"
            android:layout_width="124dp"
            android:id="@+id/resend_invite"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="110dp"
            android:orientation="vertical">

        <TextView
            android:id="@+id/text_invitee_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:layout_marginTop="24dp"
            android:layout_marginLeft="30dp"
            android:layout_marginStart="30dp"
            android:fontFamily="@string/regular_roboto"
            android:textColor="@color/white"
            android:textSize="22sp"/>

        <TextView
            android:id="@+id/text_invitee_contact_number"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:layout_marginTop="18dp"
            android:layout_marginLeft="30dp"
            android:layout_marginStart="30dp"
            android:fontFamily="@string/regular_roboto"
            android:textColor="@color/white"
            android:textSize="22sp"/>
        </LinearLayout>

    </LinearLayout>
</HorizontalScrollView>

这是我的xml文件但是linearlayout match_parent的宽度不起作用,并且布局在屏幕中可见!我正在从右向左滚动项目,因此左侧的项目不应该是可见的!我不知道该怎么做.. 此xml文件是recyclerview的项目。如果我将宽度设置为某个值,它可以正常工作。但是当屏幕尺寸改变时,宽度尺寸会发生变化,因此它会显示部分包含现在我正在做这个

DisplayMetrics metrics = new DisplayMetrics();
        WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
        wm.getDefaultDisplay().getMetrics(metrics);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(metrics.widthPixels, holder.mWidthTextView.getHeight());
        holder.mWidthTextView.setLayoutParams(lp);
        holder.mResendScroll.postDelayed(new Runnable() {
            public void run() {
                holder.mResendScroll.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
            }
        }, 10L);

它有效,但我不认为这是正确的方法,因为每次在onBindViewHolder中调用它。

1 个答案:

答案 0 :(得分:0)

你能尝试第一个LinearLayout宽度“match_parent”。

来自代码

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="110dp"
    android:orientation="horizontal">`

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="110dp"
    android:orientation="horizontal">`