我有一个ScrollView
,里面的视图很少,其中一个是TextView
。我务实地将当前时间设置为TextView
。因此TextView
每秒更新一次。现在,当我滚动ScrollView
时,ScrollView将移至顶部。我想在TextView
更新时会失去联系。
那么如何防止ScrollView移至顶端?
答案 0 :(得分:2)
那是你的朋友:
android:descendantFocusability="blocksDescendants"
将此属性设置为ScrollView的Elements INSIDE。
但由于这会消除元素的可聚焦性,因此您无法编辑任何输入,如EditText等。
在这种情况下,您可以通过确保焦点位于我喜欢的位置来“阻止”ScrollView滚动到当前焦点(它不会滚动到“顶部”)。
举个例子: 我有一个ScrollView,里面有一个TableView,表格的每一行都有一个CheckBox。当我检查其中一个时,将更改当前行的颜色。但是:当我设置颜色时,ScrollView会滚动到焦点。 因此,我将焦点设置为我在更改颜色之前单击的ckeckbox:
// enable focusability if necessary:
// cbOK.setFocusable(true);
// cbOK.setFocusableInTouchMode(true);
cbOK.requestFocus();
row.setBackgroundColor(....);