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) {
        }
    }
}


Ответы (0 шт):