我想在代码中动态地设置一个EditText
的滚动条,但是我没有找到相应的setscrollbars
API。请问是否可以通过编程实现此功能?
android:scrollbars="vertical"
这可行吗?我如何在程序中实现这个?
我想在代码中动态地设置一个EditText
的滚动条,但是我没有找到相应的setscrollbars
API。请问是否可以通过编程实现此功能?
android:scrollbars="vertical"
这可行吗?我如何在程序中实现这个?
我也在寻找编程方法来实现这个功能。
从http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars看来,相关的方法并没有被提及,因此这似乎是不可能的。
唯一描述起来不错的方法是:
View.setVerticalScrollBarEnabled(boolean)
但在我的情况下,它没有起作用。但这可能取决于布局和使用方式。
现在我考虑采用两种布局:一种属性设置为“none”,另一种设置为“vertical”。然后在代码中,我可以决定使用哪个。
final TypedArray typedArray = context.obtainStyledAttributes(null, new int[]{});
try {
Method method = View.class.getDeclaredMethod("initializeScrollbars" , TypedArray.class);
method.invoke(this, typedArray);
}catch (Exception e) {
}
typedArray.recycle();
setVerticalScrollBarEnabled(true);
您需要使用自己的android:scrollbarTrackVertical和android:scrollbarThumbVertical可绘制对象来覆盖它们。您可以在代码中或通过样式来实现。
这是一个链接,展示了如何创建自定义按钮。滚动条的原理类似。
编程方式:
RecyclerView mRecyclerView =rootView.findViewById(R.id.your-recycler-view);
if(mRecyclerView!=null){
mRecyclerView.setVerticalScrollBarEnabled( true );
}
在XML中:
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:scrollbars="vertical"
android:layout_height="wrap_content" />
其他滚动条:
android:scrollbars="vertical"
android:scrollbars="horizontal"
android:scrollbars="vertical|horizontal"
android:scrollbars="vertical"
才能使RecyclerView.setVerticalScrollBarEnabled
起作用。 - kukabi