Android ListView仅在触摸第一个或第二个列表项时滚动

时间:2016-06-21 09:31:12

标签: android android-layout listview xamarin

我在ListView中使用SwypeRefreshLayout,滚动仅适用于View的上方区域。 我还尝试过其他布局,例如LinearLayoutRelativeLayout并使用ScrollView,但它只会滚动列表的前两个元素。 怎么了?

片段布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/DeviceOverviewRefresher"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawSelectorOnTop="true"
            android:divider="@android:color/transparent"
            android:id="@+id/DeviceOverviewList" />
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>

ListRowLayout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<LinearLayout
    android:id="@+id/Text"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="10dp">
    <TextView
        android:text="Text"
        android:textSize="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="60dp"
        android:id="@+id/DeviceName" />
</LinearLayout>
<ImageView
    android:id="@+id/Image"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:padding="1dp"
    android:src="@drawable/logo"
    android:layout_alignParentRight="false" />
</RelativeLayout>

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

很奇怪,但删除一行代码解决了它 我刚刚删除了我的&#34; ShowFragment&#34; - 方法。

var trans = fragmentManager.BeginTransaction();
// animation
//trans.SetCustomAnimations(Resource.Animation.slide_down, Resource.Animation.slide_up);