android.widget.ListView.getViewTreeObserver()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(8.0k)|赞(0)|评价(0)|浏览(128)

本文整理了Java中android.widget.ListView.getViewTreeObserver()方法的一些代码示例,展示了ListView.getViewTreeObserver()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ListView.getViewTreeObserver()方法的具体详情如下:
包路径:android.widget.ListView
类名称:ListView
方法名:getViewTreeObserver

ListView.getViewTreeObserver介绍

暂无

代码示例

代码示例来源:origin: willowtreeapps/spruce-android

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, @Nullable Bundle savedInstanceState) {
  listView = (ListView) container.findViewById(R.id.list_view);
  // Create the animator after the list view has finished laying out
  listView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
      initSpruce();
    }
  });
  // Mock data objects
  List<ExampleData> placeHolderList = new ArrayList<>();
  for (int i = 0; i < 10; i++) {
    placeHolderList.add(new ExampleData());
  }
  // Remove default dividers and set adapter
  listView.setDivider(null);
  listView.setDividerHeight(0);
  listView.setAdapter(new ListViewAdapter(placeHolderList));
  return inflater.inflate(R.layout.list_view_fragment, container, false);
}

代码示例来源:origin: stackoverflow.com

mAdapter.remove(mAdapter.getItem(position));
final ViewTreeObserver observer = listview.getViewTreeObserver();
observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
  public boolean onPreDraw() {

代码示例来源:origin: BrianValente/WAMOD

@Override
  public void onGlobalLayout() {
    listView.addHeaderView(new View(view.getContext()));
    listView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
  }
});

代码示例来源:origin: stackoverflow.com

protected void onCreate(Bundle bundle) {
   super.onCreate(bundle);

   setContentView(R.layout.settings);

   final ListView list = getListView();
   list.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
      // make sure it is not called anymore
      list.getViewTreeObserver().removeGlobalOnLayoutListener(this);

      View view = list.getChildAt(1);

      ExpandableHeightGridView grid = (ExpandableHeightGridView) view.findViewById(R.id.characters_gridview);
      grid.setExpanded(true);
      grid.setAdapter(new CharacterAdapter(getCharacters()));
    }
  });
}

代码示例来源:origin: stackoverflow.com

final ListView tv = (ListView)findViewById(R.id.your_widget);
ViewTreeObserver vto = tv.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

  @Override
  public void onGlobalLayout() {
    LayerDrawable ld = (LayerDrawable)tv.getBackground();
    ld.setLayerInset(1, 0, tv.getHeight() / 2, 0, 0);
    ViewTreeObserver obs = tv.getViewTreeObserver();
    obs.removeGlobalOnLayoutListener(this);
  }

});

代码示例来源:origin: chengzichen/KrGallery

@Override
  public boolean onPreDraw() {
    fixLayoutInternal();
    if (listView != null) {
      listView.getViewTreeObserver().removeOnPreDrawListener(this);
    }
    return true;
  }
});

代码示例来源:origin: andforce/iBeebo

public static void setListViewSelectionFromTop(final ListView listView, final int positionAfterRefresh, final int top,
                        final Runnable runnable) {
  listView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
      listView.getViewTreeObserver().removeOnPreDrawListener(this);
      listView.setSelectionFromTop(positionAfterRefresh, top);
      if (runnable != null) {
        runnable.run();
      }
      return false;
    }
  });
}

代码示例来源:origin: andforce/iBeebo

public static void setListViewSelectionFromTop(final ListView listView, final int positionAfterRefresh, final int top,
                        final Runnable runnable) {
  listView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
      listView.getViewTreeObserver().removeOnPreDrawListener(this);
      listView.setSelectionFromTop(positionAfterRefresh, top);
      if (runnable != null) {
        runnable.run();
      }
      return false;
    }
  });
}

代码示例来源:origin: chengzichen/KrGallery

private void fixLayout() {
  if (listView != null) {
    ViewTreeObserver obs = listView.getViewTreeObserver();
    obs.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
      @Override
      public boolean onPreDraw() {
        fixLayoutInternal();
        if (listView != null) {
          listView.getViewTreeObserver().removeOnPreDrawListener(this);
        }
        return true;
      }
    });
  }
}

代码示例来源:origin: andforce/iBeebo

@Override
  public boolean onPreDraw() {
    listView.getViewTreeObserver().removeOnPreDrawListener(this);
    listView.setSelectionFromTop(positionAfterRefresh, top);
    if (runnable != null) {
      runnable.run();
    }
    return false;
  }
});

代码示例来源:origin: ckcz123/PKUHelper-Android

@SuppressLint("NewApi")
  @SuppressWarnings("deprecation")
  @Override
  public void onGlobalLayout() {
    int width = listView.getWidth(), height = listView.getHeight();
    if (width != 0 && height != 0) {
      ViewSetting.setBackground(HoleComment.this, listView,
          R.drawable.chat_bg);
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        listView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
      } else {
        listView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
      }
    }
  }
});

代码示例来源:origin: andforce/iBeebo

@Override
  public boolean onPreDraw() {
    listView.getViewTreeObserver().removeOnPreDrawListener(this);
    listView.setSelectionFromTop(positionAfterRefresh, top);
    if (runnable != null) {
      runnable.run();
    }
    return false;
  }
});

代码示例来源:origin: stackoverflow.com

final ListView listView = activity.getListView();
ViewTreeObserver vto = listView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

  @Override
  public void onGlobalLayout() {
    int totalHeight = listView.getHeight();
    int rowHeight = totalHeight / getCount(); // Divide by number of items.
    listView.setScrollContainer(false);
    listView.setVerticalScrollBarEnabled(false);
    convertView.setMinimumHeight(rowHeight);

    ViewTreeObserver obs = listView.getViewTreeObserver();    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
      obs.removeOnGlobalLayoutListener(this);
    } else {
      obs.removeGlobalOnLayoutListener(this);
    }
  }

});

代码示例来源:origin: sphinx02/AppStarter

@Override
  public void onGlobalLayout()
  {
    try
    {
      // Remove listener
      mListView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
      // Check if first icon have to be selected
      mListView.requestFocusFromTouch();
      mListView.setSelection(0);
    }
    catch (Exception e)
    {
      StringWriter errors = new StringWriter();
      e.printStackTrace(new PrintWriter(errors));
      String errorReason = errors.toString();
      Log.d(MainActivity.class.getName(), "Failed to focus first left bar list item: \n" + errorReason);
    }
  }
});

代码示例来源:origin: BrianValente/WAMOD

@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
  super.onViewCreated(view, savedInstanceState);
  if (mOnViewCreatedCalled) {
    return;
  }
  final ListView listView = getListView();
  listView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
      listView.addHeaderView(new View(view.getContext()));
      listView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
    }
  });
  mOnViewCreatedCalled = true;
}

代码示例来源:origin: sphinx02/AppStarter

@Override
  public void onGlobalLayout()
  {
    try
    {
      // Remove listener
      mListView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
      if(mTriggerUpdate)
      {
        mTriggerUpdate = false;
        Updater actAppStarterUpdater = (Updater) mUpdaterAppsAdapter.getItem(0);
        if(actAppStarterUpdater != null && actAppStarterUpdater instanceof AppStarterUpdater)
        {
          actAppStarterUpdater.DialogHandler.performUpdate();
        }
      }
    }
    catch (Exception e)
    {
      StringWriter errors = new StringWriter();
      e.printStackTrace(new PrintWriter(errors));
      String errorReason = errors.toString();
      Log.d(MainActivity.class.getName(), "Failed to trigger update directly: \n" + errorReason);
    }
  }
});

代码示例来源:origin: h4h13/RetroMusicPlayer

listView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
} else {
  listView.getViewTreeObserver().removeGlobalOnLayoutListener(this);

代码示例来源:origin: redfish64/TinyTravelTracker

@Override 
public void onGlobalLayout() {
  
  PreferenceScreen screen = getPreferenceScreen();
  int i;
  for(i = 0; i < screen.getPreferenceCount(); i++) {
    Preference p = screen.getPreference(i);
        if(p == enableToolTips)
      break;
  }
  getListView().setSelection(i);
  
  getListView().getViewTreeObserver().removeGlobalOnLayoutListener(this); 
} 
});

代码示例来源:origin: sphinx02/AppStarter

mListView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener()

代码示例来源:origin: redfish64/TinyTravelTracker

ViewTreeObserver vto = getListView().getViewTreeObserver(); 
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
@Override

相关文章

ListView类方法