在代码里面滚动当前屏幕(原创)
最近在项目中遇到在代码中滚动当前屏幕的问题
屏幕上的元素 我都是在代码里面动态创建的
我的思路是: 将ScrollView 控件 执行 scrollTo 方法 滚动到适当的位置
至于哪里是合适的位置 我用的是 当前控件的getBottom() 方法
// 循环 界面 找到要查询的人员
LinearLayout ll_employee = (LinearLayout) findViewById(R.id.LinearLayout_employee);
int iCount = ll_employee.getChildCount();
//
String tv_NameString = "";
ScrollView sv = (ScrollView) findViewById(R.id.sv);
// 首先 将上一次查询的颜色 清除
for (int i = 0; i < iCount; i++) {
View myView = (View) ll_employee.getChildAt(i);
// 人员
if (myView.getClass() == TextView.class) {
TextView myTextView = (TextView) myView;
if (!myTextView.getTag().toString().trim().equals("_bumen")) {
myTextView.setBackgroundColor(Color.TRANSPARENT);
//
}
}
}
//
for (int i = 0; i < iCount; i++) {
View myView = (View) ll_employee.getChildAt(i);
// 人员
if (myView.getClass() == TextView.class) {
TextView myTextView = (TextView) myView;
if (!myTextView.getTag().toString().trim().equals("_bumen")) {
tv_NameString = myTextView.getText().toString().trim();
if (tv_NameString.indexOf(employeeName) >= 0) {
// 已经找到这个人 定位之
myTextView.setBackgroundColor(Color
.parseColor("#FF4040"));
sv.scrollTo(0, myTextView.getBottom() - 100);
//
}
}
}
}