在代码里面滚动当前屏幕(原创)

最近在项目中遇到在代码中滚动当前屏幕的问题

屏幕上的元素 我都是在代码里面动态创建的

我的思路是: 将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);

      //
     }
    }
   }

  }

posted @   郑文亮  阅读(706)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示