如何动态获取 EditText 宽度并将其设置为 recyclerView 宽度
How to get EditText width dynamically and set it to a recyclerView width
我有一个 edittext,它的宽度设置为 wrap-content.I 我还有一个回收视图,它的宽度设置为 wrap-content。我想让回收站视图宽度等于编辑文本宽度 programmatically.I 在代码下面使用但它不是来自 getMeasuredWidth() 的 working.width returns 不等于编辑文本宽度。
editText= findViewById(R.id.edit_text);
editText.measure(0, 0);
testRecyclerView= findViewById(R.id.employee_recycler_view);
testRecyclerView.setLayoutManager(new LinearLayoutManager(context));
ViewGroup.LayoutParams layoutParams = testRecyclerView.getLayoutParams();
layoutParams.width = editText.getMeasuredWidth();
testRecyclerView.setLayoutParams(layoutParams);
您应该以 <View>.requestLayout()
结束以刷新新尺寸(当前 employeeRecyclerView
)。
onCreate()
中的观看次数也未正确衡量。为了获得 editText
宽度,您可以使用 post
、postDelayed
、doOnPreDraw
(onPreDrawListener
) 或 viewTreeObserver
.
我有一个 edittext,它的宽度设置为 wrap-content.I 我还有一个回收视图,它的宽度设置为 wrap-content。我想让回收站视图宽度等于编辑文本宽度 programmatically.I 在代码下面使用但它不是来自 getMeasuredWidth() 的 working.width returns 不等于编辑文本宽度。
editText= findViewById(R.id.edit_text);
editText.measure(0, 0);
testRecyclerView= findViewById(R.id.employee_recycler_view);
testRecyclerView.setLayoutManager(new LinearLayoutManager(context));
ViewGroup.LayoutParams layoutParams = testRecyclerView.getLayoutParams();
layoutParams.width = editText.getMeasuredWidth();
testRecyclerView.setLayoutParams(layoutParams);
您应该以 <View>.requestLayout()
结束以刷新新尺寸(当前 employeeRecyclerView
)。
onCreate()
中的观看次数也未正确衡量。为了获得 editText
宽度,您可以使用 post
、postDelayed
、doOnPreDraw
(onPreDrawListener
) 或 viewTreeObserver
.