Android tree view
Проблема такая у меня есть дерево и в нём идёт навигационная стрелочка, картинка и надпись. Картинка сделана при помощи шрифта, так вот если вставлять картинку таким образом то она будет одноцветная а мне нужна многоцветная картинка. Я пробовал в шрифте сделать ее изначально разноцветной но это не сработало долго объяснять почему по этому мне нужен способ вставить картинку в дерево желательно просто добавив в Android studio и указав на нее. Я только недавно занимаюсь разработкой, не совсем понимаю как правильно сделать то что я хочу. Подскажите пожалуйста.
Это основной фал java в котором я строю само дерево
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
import com.example.admin1.bottomtabexample.Keys.holder.ArrowExpandSelectableHeaderHolder_Keys;
import com.example.admin1.bottomtabexample.Keys.holder.IconTreeItemHolder_Keys;
import com.example.admin1.bottomtabexample.Keys.model.TreeNode_Keys;
import com.example.admin1.bottomtabexample.Keys.view.AndroidTreeView_Keys;
import com.example.admin1.bottomtabexample.R;
public class Keys extends Fragment implements TreeNode_Keys.TreeNodeClickListener {
private static final String NAME = "";
private AndroidTreeView_Keys tView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_selectable_nodes_keys, null, false);
rootView.findViewById(R.id.status).setVisibility(View.GONE);
ViewGroup containerView = (ViewGroup) rootView.findViewById(R.id.containeritem);
TreeNode_Keys root = TreeNode_Keys.root();
TreeNode_Keys s1 = new TreeNode_Keys(new IconTreeItemHolder_Keys.IconTreeItem(R.string.ic_factory, getResources().getString(R.string.keys_factory))).setViewHolder(
new ArrowExpandSelectableHeaderHolder_Keys(getActivity()));
TreeNode_Keys s2 = new TreeNode_Keys(new IconTreeItemHolder_Keys.IconTreeItem(R.string.ic_customs, getResources().getString(R.string.keys_customs))).setViewHolder(
new ArrowExpandSelectableHeaderHolder_Keys(getActivity()));
fillFolder1(s1);
fillFolder2(s2);
root.addChildren(s1);
root.addChildren(s2);
tView = new AndroidTreeView_Keys(getActivity(), root);
tView.setDefaultAnimation(false);
tView.setUse2dScroll(true);
tView.setDefaultContainerStyle(R.style.TreeNodeStyleCustom);
tView.setDefaultNodeClickListener(Keys.this);
tView.setDefaultViewHolder(ArrowExpandSelectableHeaderHolder_Keys.class);
containerView.addView(tView.getView());
tView.setUseAutoToggle(true);
if (savedInstanceState != null) {
String state = savedInstanceState.getString("tState");
if (!TextUtils.isEmpty(state)) {
tView.restoreState(state);
}
}
return rootView;
}
private void fillFolder1(TreeNode_Keys folder) {
//1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TreeNode_Keys currentNode1 = folder;
for (int i = 1; i < 2; i++) {
TreeNode_Keys file = new TreeNode_Keys(new IconTreeItemHolder_Keys.IconTreeItem(R.string.ic_point, NAME + getResources().getString(R.string.B_I_1_1)));
currentNode1.addChild(file);
currentNode1 = file;
}
}
private void fillFolder2(TreeNode_Keys folder2) {
//1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TreeNode_Keys currentNode1 = folder2;
for (int i = 1; i < 2; i++) {
TreeNode_Keys file = new TreeNode_Keys(new IconTreeItemHolder_Keys.IconTreeItem(R.string.ic_point, NAME + getResources().getString(R.string.B_I_1_1)));
currentNode1.addChild(file);
currentNode1 = file;
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("tState", tView.getSaveState());
}
@Override
public void onClick(TreeNode_Keys node, Object value) { //извлекаем тип объекта
int nodeType = node.getType();
switch (nodeType) {
}
}
}