Android Open Source - pixel-art File Adapter






From Project

Back to project page pixel-art.

License

The source code is released under:

Apache License

If you think the Android project pixel-art listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jaween.pixelart.io;
//from   w  w  w  .  ja  va2 s  .  com
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.os.Build;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.jaween.pixelart.R;

import java.util.ArrayList;

/**
 * Created by ween on 12/9/14.
 */
public class FileAdapter extends BaseAdapter implements View.OnClickListener {

    private ArrayList<AnimationFile> data;
    private LayoutInflater inflater;
    private BitmapDrawable checkerboardTile;
    private int selectedIndex = 0;
    private FileItemListener fileItemListener;

    public FileAdapter(Context context, ArrayList<AnimationFile> data, BitmapDrawable checkerboardTile) {
        this.data = data;
        this.checkerboardTile = checkerboardTile;
        inflater = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        // Adds one to size for the 'fileAdd file' item
        return data.size() + 1;
    }

    @Override
    public Object getItem(int i) {
        return data.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    public void setSelectedIndex(int selectedIndex) {
        this.selectedIndex = selectedIndex;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.file_item, null);

            holder = new ViewHolder();
            holder.drawing = (ImageView) convertView.findViewById(R.id.iv_drawing);
            holder.delete = (ImageView) convertView.findViewById(R.id.iv_delete);
            holder.filename = (TextView) convertView.findViewById(R.id.tv_filename);
            holder.fileContent = (LinearLayout) convertView.findViewById(R.id.ll_file_content);
            holder.fileAdd = (LinearLayout) convertView.findViewById(R.id.ll_file_add);

            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        if (position == data.size()) {
            // Last item in the list is the add button
            holder.fileContent.setVisibility(View.GONE);
            holder.fileAdd.setVisibility(View.VISIBLE);
            convertView.setBackgroundResource(0);
            return convertView;
        } else {
            // Other items in the list are regular items
            holder.fileContent.setVisibility(View.VISIBLE);
            holder.fileAdd.setVisibility(View.GONE);

            // Initialises views
            holder.drawing.setBackgroundDrawable(checkerboardTile);
            holder.drawing.setImageBitmap(data.get(position).getFrames().get(0).getLayers().get(0).getImage());
            holder.filename.setText(data.get(position).getFilename());

            holder.delete.setOnClickListener(this);

            // Highlights the selected item
            if (position == selectedIndex) {
                convertView.setBackgroundResource(R.color.list_item_selected_colour);
            } else {
                convertView.setBackgroundResource(0);
            }

            // Pre-Jellybean doesn't have setBackground()
            int sdk = Build.VERSION.SDK_INT;
            if (sdk < Build.VERSION_CODES.JELLY_BEAN) {
                holder.drawing.setBackgroundDrawable(checkerboardTile);
            } else {
                holder.drawing.setBackground(checkerboardTile);
            }

            // Stores this view's position in the list within the View tag (for use with onClick())
            holder.delete.setTag(position);
        }

        return convertView;
    }

    @Override
    public void onClick(View view) {
        // Determines which row this view belongs to
        int position;
        if (view.getTag() != null) {
            position = (Integer) view.getTag();
        } else {
            return;
        }

        switch (view.getId()) {
            case R.id.iv_delete:
                if (data.size() > 1) {
                    if (fileItemListener != null) {
                        fileItemListener.onDeleteFileFromList(position);
                    }
                }
                break;
        }
    }

    private class ViewHolder {
        ImageView drawing;
        ImageView delete;
        TextView filename;
        LinearLayout fileContent;
        LinearLayout fileAdd;
    }

    public void setFileItemListener(FileItemListener fileItemListener) {
        this.fileItemListener = fileItemListener;
    }

    public interface FileItemListener {
        public void onDeleteFileFromList(int index);
    }
}




Java Source Code List

com.jaween.pixelart.ContainerActivity.java
com.jaween.pixelart.ContainerFragment.java
com.jaween.pixelart.PanelManagerFragment.java
com.jaween.pixelart.io.AnimationFile.java
com.jaween.pixelart.io.FileAdapter.java
com.jaween.pixelart.io.ImportExport.java
com.jaween.pixelart.io.LoadFileDialog.java
com.jaween.pixelart.tools.Command.java
com.jaween.pixelart.tools.Dropper.java
com.jaween.pixelart.tools.Eraser.java
com.jaween.pixelart.tools.FloodFill.java
com.jaween.pixelart.tools.FreeSelect.java
com.jaween.pixelart.tools.MagicWand.java
com.jaween.pixelart.tools.Oval.java
com.jaween.pixelart.tools.Pen.java
com.jaween.pixelart.tools.RectSelect.java
com.jaween.pixelart.tools.Rect.java
com.jaween.pixelart.tools.Selection.java
com.jaween.pixelart.tools.ToolReport.java
com.jaween.pixelart.tools.Tool.java
com.jaween.pixelart.tools.attributes.EraserToolAttributes.java
com.jaween.pixelart.tools.attributes.MagicWandToolAttributes.java
com.jaween.pixelart.tools.attributes.OvalToolAttributes.java
com.jaween.pixelart.tools.attributes.PenToolAttributes.java
com.jaween.pixelart.tools.attributes.RectToolAttributes.java
com.jaween.pixelart.tools.attributes.ToolAttributes.java
com.jaween.pixelart.tools.options.EraserOptionsView.java
com.jaween.pixelart.tools.options.MagicWandOptionsView.java
com.jaween.pixelart.tools.options.OvalOptionsView.java
com.jaween.pixelart.tools.options.PenOptionsView.java
com.jaween.pixelart.tools.options.RectOptionsView.java
com.jaween.pixelart.tools.options.ToolOptionsView.java
com.jaween.pixelart.ui.ColourButton.java
com.jaween.pixelart.ui.ColourSelector.java
com.jaween.pixelart.ui.DrawingFragment.java
com.jaween.pixelart.ui.DrawingSurface.java
com.jaween.pixelart.ui.PaletteFragment.java
com.jaween.pixelart.ui.PanelFragment.java
com.jaween.pixelart.ui.PixelGrid.java
com.jaween.pixelart.ui.Thumbnail.java
com.jaween.pixelart.ui.ToolButton.java
com.jaween.pixelart.ui.ToolboxFragment.java
com.jaween.pixelart.ui.TransparencyCheckerboard.java
com.jaween.pixelart.ui.animation.AnimationFragment.java
com.jaween.pixelart.ui.animation.FrameAdapter.java
com.jaween.pixelart.ui.animation.Frame.java
com.jaween.pixelart.ui.colourpicker.ColourPickerDialog.java
com.jaween.pixelart.ui.colourpicker.ColourPickerFragment.java
com.jaween.pixelart.ui.colourpicker.ColourPickerView.java
com.jaween.pixelart.ui.layer.LayerAdapter.java
com.jaween.pixelart.ui.layer.LayerFragment.java
com.jaween.pixelart.ui.layer.Layer.java
com.jaween.pixelart.ui.undo.DrawOpManager.java
com.jaween.pixelart.ui.undo.DrawOpUndoData.java
com.jaween.pixelart.ui.undo.FrameUndoData.java
com.jaween.pixelart.ui.undo.LayerUndoData.java
com.jaween.pixelart.ui.undo.UndoItem.java
com.jaween.pixelart.ui.undo.UndoManager.java
com.jaween.pixelart.util.AbsVerticalSeekBar.java
com.jaween.pixelart.util.AnimatedGifEncoder.java
com.jaween.pixelart.util.AutoSaver.java
com.jaween.pixelart.util.BitmapEncoder.java
com.jaween.pixelart.util.Color.java
com.jaween.pixelart.util.ConfigChangeFragment.java
com.jaween.pixelart.util.Debug.java
com.jaween.pixelart.util.MarchingAnts.java
com.jaween.pixelart.util.PreferenceManager.java
com.jaween.pixelart.util.ScaleListener.java
com.jaween.pixelart.util.SlideAnimator.java
com.jaween.pixelart.util.SlidingLinearLayout.java
com.jaween.pixelart.util.VerticalProgressBar.java
com.tokaracamara.android.verticalslidevar.VerticalSeekBar.java