Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.unnamed.b.atv.sample.fragment.FolderStructureFragment;
import com.unnamed.b.atv.sample.fragment.SelectableTreeFragment;
import com.unnamed.b.atv.sample.fragment.TwoDScrollingArrowExpandFragment;
import com.unnamed.b.atv.sample.fragment.TwoDScrollingArrowExpandNodeFragment;
import com.unnamed.b.atv.sample.fragment.TwoDScrollingFragment;

import java.util.ArrayList;
Expand All @@ -36,6 +37,7 @@ protected void onCreate(Bundle savedInstanceState) {
listItems.put("Selectable Nodes", SelectableTreeFragment.class);
listItems.put("2d scrolling", TwoDScrollingFragment.class);
listItems.put("Expand with arrow only", TwoDScrollingArrowExpandFragment.class);
listItems.put("Expand with arrow one node only", TwoDScrollingArrowExpandNodeFragment.class);


final List<String> list = new ArrayList(listItems.keySet());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
tView.setDefaultNodeClickListener(TwoDScrollingArrowExpandFragment.this);
tView.setDefaultViewHolder(ArrowExpandSelectableHeaderHolder.class);
containerView.addView(tView.getView());
tView.setUseAutoToggle(false);
tView.setExpansionAutoToggle(false);

tView.expandAll();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package com.unnamed.b.atv.sample.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import com.unnamed.b.atv.model.TreeNode;
import com.unnamed.b.atv.sample.R;
import com.unnamed.b.atv.sample.holder.ArrowExpandSelectableHeaderHolder;
import com.unnamed.b.atv.sample.holder.IconTreeItemHolder;
import com.unnamed.b.atv.view.AndroidTreeView;

/**
* Created by Bogdan Melnychuk on 2/12/15 modified by Szigeti Peter 2/2/16.
*/
public class TwoDScrollingArrowExpandNodeFragment extends Fragment implements TreeNode.TreeNodeClickListener{
private static final String NAME = "Very long name for folder";
private AndroidTreeView tView;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_selectable_nodes, null, false);
rootView.findViewById(R.id.status).setVisibility(View.GONE);
ViewGroup containerView = (ViewGroup) rootView.findViewById(R.id.container);

TreeNode root = TreeNode.root();

TreeNode s1 = new TreeNode(new IconTreeItemHolder.IconTreeItem(R.string.ic_folder, "Folder with very long name ")).setViewHolder(
new ArrowExpandSelectableHeaderHolder(getActivity()));
TreeNode s2 = new TreeNode(new IconTreeItemHolder.IconTreeItem(R.string.ic_folder, "Another folder with very long name")).setViewHolder(
new ArrowExpandSelectableHeaderHolder(getActivity()));

fillFolder(s1);
TreeNode nodeToExpand = fillFolder(s2);

root.addChildren(s1, s2);

tView = new AndroidTreeView(getActivity(), root);
tView.setDefaultAnimation(true);
tView.setUse2dScroll(true);
tView.setDefaultContainerStyle(R.style.TreeNodeStyleCustom);
tView.setDefaultNodeClickListener(TwoDScrollingArrowExpandNodeFragment.this);
tView.setDefaultViewHolder(ArrowExpandSelectableHeaderHolder.class);
containerView.addView(tView.getView());

tView.setAutoScrollToExpandedNode(true);
tView.setAutoScrollToSelectedLeafs(true);
tView.setLeafSelectionAutoToggle(true);

tView.expandNode(s1);
tView.expandNodeIncludingParents(nodeToExpand, true);

if (savedInstanceState != null) {
String state = savedInstanceState.getString("tState");
if (!TextUtils.isEmpty(state)) {
tView.restoreState(state);
}
}
return rootView;
}

private TreeNode fillFolder(TreeNode folder) {
TreeNode currentNode = folder;
TreeNode file = null;
for (int i = 0; i < 6; i++) {
file = new TreeNode(new IconTreeItemHolder.IconTreeItem(R.string.ic_folder, NAME + " " + i));
currentNode.addChild(file);
currentNode = file;
}
return file;
}

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tState", tView.getSaveState());
}

@Override
public void onClick(TreeNode node, Object value) {
Toast toast = Toast.makeText(getActivity(), ((IconTreeItemHolder.IconTreeItem)value).text, Toast.LENGTH_SHORT);
toast.show();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public View createNodeView(final TreeNode node, IconTreeItemHolder.IconTreeItem
arrowView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tView.toggleNode(node);
tView.toggleNodeExpansion(node);
}
});

Expand Down