Android Open Source - ShareList-Android Checkable Relative Layout






From Project

Back to project page ShareList-Android.

License

The source code is released under:

GNU General Public License

If you think the Android project ShareList-Android 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 org.mybop.sharelist.app.view.support;
//from   w w w  .  j  a  v  a 2 s  .  c  o m
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Checkable;
import android.widget.RelativeLayout;

/**
 * Created by gautier on 16/03/2014.
 */
public class CheckableRelativeLayout extends RelativeLayout implements Checkable {

    private static final int[] CHECKED_STATE_SET = {
            android.R.attr.state_checked
    };

    private boolean checked = false;

    public CheckableRelativeLayout(Context context) {
        super(context);
    }

    public CheckableRelativeLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CheckableRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    protected int[] onCreateDrawableState(int extraSpace) {
        final int[] drawableState = super.onCreateDrawableState(extraSpace + 1);
        if (isChecked()) {
            mergeDrawableStates(drawableState, CHECKED_STATE_SET);
        }
        return drawableState;
    }

    @Override
    public void setChecked(boolean checked) {
        this.checked = checked;
        refreshDrawableState();

//        //Propagate to childs
//        final int count = getChildCount();
//        for (int i = 0; i < count; i++) {
//            final View child = getChildAt(i);
//            if (child instanceof Checkable) {
//                ((Checkable) child).setChecked(checked);
//            }
//        }
    }

    @Override
    public boolean isChecked() {
        return checked;
    }

    @Override
    public void toggle() {
        setChecked(!checked);
    }
}




Java Source Code List

org.mybop.sharelist.app.ShareListApplication.java
org.mybop.sharelist.app.control.DetailActivity.java
org.mybop.sharelist.app.control.DetailController.java
org.mybop.sharelist.app.control.ListController.java
org.mybop.sharelist.app.control.MainActivity.java
org.mybop.sharelist.app.database.DatabaseHelper.java
org.mybop.sharelist.app.database.NoIdCursorWrapper.java
org.mybop.sharelist.app.database.entity.ElementEntity.java
org.mybop.sharelist.app.database.entity.ListEntity.java
org.mybop.sharelist.app.database.repository.ElementRepository.java
org.mybop.sharelist.app.database.repository.ListRepository.java
org.mybop.sharelist.app.util.ArrayUtil.java
org.mybop.sharelist.app.view.DetailAdapter.java
org.mybop.sharelist.app.view.DetailFragment.java
org.mybop.sharelist.app.view.ListAdapter.java
org.mybop.sharelist.app.view.MasterFragment.java
org.mybop.sharelist.app.view.support.CheckableLinearLayout.java
org.mybop.sharelist.app.view.support.CheckableRelativeLayout.java
org.mybop.sharelist.app.view.support.ListFragment.java
org.mybop.sharelist.app.view.support.OrmLiteAdapter.java