我想以编程方式在scrollbars
中动态设置EditText
,但我没有将此api视为setscrollbars。谁能告诉我这是否可以通过编程方式完成?
android:scrollbars="vertical"
这可能吗?如何以编程方式实现此目标?
答案 0 :(得分:3)
我一直在寻找一种以编程方式执行此操作的方法。
似乎http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars 不可能,因为没有提到相关方法。
通过描述听起来不错的唯一方法是:
View.setVerticalScrollBarEnabled(boolean)
但在我的情况下它没有用。但这可能取决于布局和使用方式。
我现在想的是有两个布局:一个属性设置为“none”,一个设置为“vertical”。然后在代码中我可以决定使用哪个。
答案 1 :(得分:1)
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);
答案 2 :(得分:0)
你必须用自己的方法覆盖android:scrollbarTrackVertical和android:scrollbarThumbVertical drawables。您可以在代码或样式中执行此操作。
这是link,显示了如何自定义按钮。滚动条的原理类似。
答案 3 :(得分:0)
以编程方式:
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"