【发布时间】:2018-03-06 13:43:42
【问题描述】:
我有一个水平显示项目列表的回收视图。我正在显示带有标题和描述的文章列表:
mRecyclerView = findViewById(R.id.rvmain);
mRecyclerView.setOnFlingListener(null);
SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(mRecyclerView);
mLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new MainActivityRVAdapter(postsModels,MainActivity.this);
mRecyclerView.setAdapter(mAdapter);
在我的菜单中,我有两个项目 onclicking 单击,我想更改显示的特定 recyclerview 的字体大小
<item
android:id="@+id/fontincrease"
android:title="@string/fontincrease"
app:showAsAction="always"
/>
<item
android:id="@+id/fontdecrease"
android:title="@string/fontdecrease"
app:showAsAction="always"
/>
现在我无法理解如何从这里处理
我知道增加字体大小的代码:
float size = mViewShabad.getTextSize()*1.1f;
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
我必须获取viewholder并增加描述的字体。
我用谷歌搜索并得到下面的行用于访问视图中的元素。
int position = ((LinearLayoutManager)mRecyclerView.getLayoutManager()).findFirstVisibleItemPosition();
(TextView) mRecyclerView.findViewHolderForAdapterPosition(position).itemView.findViewById(R.id.title)
我可以更改字体大小,但我想在滚动时重置它
我正在尝试:
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()
{
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
// what to do here so that everything is shown the default way
}
});
【问题讨论】:
-
没有
position如何识别要更改的项目?我找不到你。 -
我正在尝试获取位置:
int position = mLayoutManager.findFirstVisibleItemPosition();但它说无法解析方法 findFirstVisibleItemPosition()
标签: android android-recyclerview