AndroidTreeView
所属分类:android开发
开发工具:Java
文件大小:9575KB
下载次数:28
上传日期:2016-09-02 13:37:42
上 传 者:
macowin
说明: Android 任意层级树形菜单 效果非常漂亮 使用Android studio 构建
(Android build any hierarchical menu tree is very nice to use Android studio)
文件列表:
AndroidTreeView (0, 2016-09-02)
AndroidTreeView\.gradle (0, 2016-08-24)
AndroidTreeView\.gradle\2.2 (0, 2016-08-24)
AndroidTreeView\.gradle\2.2\taskArtifacts (0, 2016-08-24)
AndroidTreeView\.gradle\2.2\taskArtifacts\cache.properties (31, 2016-08-24)
AndroidTreeView\.gradle\2.2\taskArtifacts\cache.properties.lock (17, 2016-08-25)
AndroidTreeView\.gradle\2.2\taskArtifacts\fileHashes.bin (241851, 2016-08-25)
AndroidTreeView\.gradle\2.2\taskArtifacts\fileSnapshots.bin (830051, 2016-08-24)
AndroidTreeView\.gradle\2.2\taskArtifacts\outputFileStates.bin (21722, 2016-08-24)
AndroidTreeView\.gradle\2.2\taskArtifacts\taskArtifacts.bin (51414, 2016-08-24)
AndroidTreeView\.idea (0, 2016-08-31)
AndroidTreeView\.idea\.name (22, 2016-08-24)
AndroidTreeView\.idea\compiler.xml (686, 2016-08-24)
AndroidTreeView\.idea\copyright (0, 2016-08-24)
AndroidTreeView\.idea\copyright\profiles_settings.xml (76, 2016-08-24)
AndroidTreeView\.idea\encodings.xml (159, 2016-08-24)
AndroidTreeView\.idea\gradle.xml (845, 2016-08-24)
AndroidTreeView\.idea\libraries (0, 2016-08-25)
AndroidTreeView\.idea\libraries\appcompat_v7_21_0_3.xml (421, 2016-08-24)
AndroidTreeView\.idea\libraries\print_1_2_2.xml (773, 2016-08-25)
AndroidTreeView\.idea\libraries\support_annotations_21_0_3.xml (545, 2016-08-24)
AndroidTreeView\.idea\libraries\support_v4_21_0_3.xml (910, 2016-08-24)
AndroidTreeView\.idea\misc.xml (2226, 2016-08-29)
AndroidTreeView\.idea\modules.xml (494, 2016-08-24)
AndroidTreeView\.idea\runConfigurations.xml (564, 2016-08-24)
AndroidTreeView\.idea\workspace.xml (196153, 2016-08-31)
iml (968, 2016-08-24)
AndroidTreeView\LICENSE (11325, 2016-05-03)
AndroidTreeView\app (0, 2016-08-24)
AndroidTreeView\app\app.iml (6571, 2016-08-24)
AndroidTreeView\app\build (0, 2016-08-24)
AndroidTreeView\app\build\generated (0, 2016-08-24)
AndroidTreeView\app\build\generated\res (0, 2016-08-24)
AndroidTreeView\app\build\generated\res\generated (0, 2016-08-24)
AndroidTreeView\app\build\generated\res\generated\test (0, 2016-09-02)
AndroidTreeView\app\build\generated\res\rs (0, 2016-08-24)
AndroidTreeView\app\build\generated\res\rs\debug (0, 2016-09-02)
... ...
AndroidTreeView
====================
### Recent changes
2D scrolling mode added, keep in mind this comes with few limitations: you won't be able not place views on right side like alignParentRight. Everything should be align left. Is not enabled by default
### Description
Tree view implementation for android
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-AndroidTreeView-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1534)
### Demo
[![AndroidTreeView Demo on Google Play Store](http://style.anu.edu.au/_anu/images/icons/icon-google-play-small.png)](https://play.google.com/store/apps/details?id=com.unnamed.b.atv.demo)
### Features
+ 1. N - level expandable/collapsable tree
+ 2. Custom values, views, styles for nodes
+ 3. Save state after rotation
+ 4. Selection mode for nodes
+ 5. Dynamic add/remove node
### Known Limitations
+ For Android 4.0 (+/- nearest version) if you have too deep view hierarchy and with tree its easily possible, your app may crash
### Integration
**1)** Add library as a dependency to your project
```compile 'com.github.bmelnychuk:atv:1.2.+'```
**2)** Create your tree starting from root element. ```TreeNode.root()``` element will not be displayed so it doesn't require anything to be set.
```java
TreeNode root = TreeNode.root();
```
Create and add your nodes (use your custom object as constructor param)
```java
TreeNode parent = new TreeNode("MyParentNode");
TreeNode child0 = new TreeNode("ChildNode0");
TreeNode child1 = new TreeNode("ChildNode1");
parent.addChildren(child0, child1);
root.addChild(parent);
```
**3)** Add tree view to layout
```java
AndroidTreeView tView = new AndroidTreeView(getActivity(), root);
containerView.addView(tView.getView());
```
The simplest but not styled tree is ready. Now you can see ```parent``` node as root of your tree
**4)** Custom view for nodes
Extend ```TreeNode.BaseNodeViewHolder``` and overwrite ```createNodeView``` method to prepare custom view for node:
```java
public class MyHolder extends TreeNode.BaseNodeViewHolder
{
...
@Override
public View createNodeView(TreeNode node, IconTreeItem value) {
final LayoutInflater inflater = LayoutInflater.from(context);
final View view = inflater.inflate(R.layout.layout_profile_node, null, false);
TextView tvValue = (TextView) view.findViewById(R.id.node_value);
tvValue.setText(value.text);
return view;
}
...
public static class IconTreeItem {
public int icon;
public String text;
}
}
```
**5)** Connect view holder with node
```java
IconTreeItem nodeItem = new IconTreeItem();
TreeNode child1 = new TreeNode(nodeItem).setViewHolder(new MyHolder(mContext));
```
**6)** Consider using
```java
TreeNode.setClickListener(TreeNodeClickListener listener);
AndroidTreeView.setDefaultViewHolder
AndroidTreeView.setDefaultNodeClickListener
...
```
For more details use sample application as example
Let me know if i missed something, appreciate your support, thanks!
### Projects using this library
[Blue Dot : World Chat](https://play.google.com/store/apps/details?id=com.commandapps.bluedot)
近期下载者:
相关文件:
收藏者: