app:stackFromEnd RecyclerView 在 xml 中不工作?
app:stackFromEnd for RecyclerView is not working in xml?
我有一个 RecyclerView 定义为:
<android.support.v7.widget.RecyclerView
android:id="@+id/message_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/message_input"
android:layout_alignParentTop="true"
app:stackFromEnd="true" />
相关代码也是常用的一个:
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
//layoutManager.setStackFromEnd(true);
mRecyclerView.setLayoutManager(layoutManager);
然而,当我添加一个项目 RecyclerView
时,它不遵守 app:stackFromEnd="true"
。另一方面,如果我取消注释并以编程方式使用 layoutManager.setStackFromEnd(true);
,它工作正常。我缺少什么问题?欢迎任何想法。
好像Android不认识app:stackFromEnd="true"
。也许你把它放错了地方。 setStackFromEnd(Boolean)
以编程方式完成相同的工作。
根据文档:
public void setStackFromEnd(boolean stackFromEnd)
Compatibility support for setStackFromBottom(boolean)
和
public void setStackFromBottom (boolean stackFromBottom)
Added in API level 1 When stack from bottom is set to true, the list
fills its content starting from the bottom of the view.
Parameters stackFromBottom
true
to pin the view's content to the
bottom edge, false
to pin the view's content to the top edge
阅读这些:
http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom(boolean)
我运行进入类似的东西。问题是,当 RecyclerView 膨胀时,它会读取属性。
但是您要分配一个在 java 代码中创建的新 LinearLayoutManager。这个新管理器没有将 stackFromEnd 属性设置为 true(默认为 false)。
stackFromEnd
是管理器的属性,而不是 RecyclerView
。
就我而言,我有这个:
<android.support.v7.widget.RecyclerView
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:id="@+id/list"
app:stackFromEnd = "true"
app:layoutManager="LinearLayoutManager"
</android.support.v7.widget.RecyclerView>
在您的 xml 代码中,您没有 app:layoutManager
属性,所以我不确定在 inflation.
上为您创建了哪个管理器
我有一个 RecyclerView 定义为:
<android.support.v7.widget.RecyclerView
android:id="@+id/message_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/message_input"
android:layout_alignParentTop="true"
app:stackFromEnd="true" />
相关代码也是常用的一个:
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
//layoutManager.setStackFromEnd(true);
mRecyclerView.setLayoutManager(layoutManager);
然而,当我添加一个项目 RecyclerView
时,它不遵守 app:stackFromEnd="true"
。另一方面,如果我取消注释并以编程方式使用 layoutManager.setStackFromEnd(true);
,它工作正常。我缺少什么问题?欢迎任何想法。
好像Android不认识app:stackFromEnd="true"
。也许你把它放错了地方。 setStackFromEnd(Boolean)
以编程方式完成相同的工作。
根据文档:
public void setStackFromEnd(boolean stackFromEnd)
Compatibility support for
setStackFromBottom(boolean)
和
public void setStackFromBottom (boolean stackFromBottom)
Added in API level 1 When stack from bottom is set to true, the list fills its content starting from the bottom of the view.
Parameters
stackFromBottom
true
to pin the view's content to the bottom edge,false
to pin the view's content to the top edge
阅读这些:
http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom(boolean)
我运行进入类似的东西。问题是,当 RecyclerView 膨胀时,它会读取属性。
但是您要分配一个在 java 代码中创建的新 LinearLayoutManager。这个新管理器没有将 stackFromEnd 属性设置为 true(默认为 false)。
stackFromEnd
是管理器的属性,而不是 RecyclerView
。
就我而言,我有这个:
<android.support.v7.widget.RecyclerView
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:id="@+id/list"
app:stackFromEnd = "true"
app:layoutManager="LinearLayoutManager"
</android.support.v7.widget.RecyclerView>
在您的 xml 代码中,您没有 app:layoutManager
属性,所以我不确定在 inflation.