CircularMenu

介绍:

可高度自定义的奇葩菜单控件(可自定义中心view,通过adapter控制itemview,menu数量,中心圆大小,中心圆环大小。。。)

运行效果:

使用说明:

MainActivity

package sunger.net.org;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import org.sunger.net.view.CircularMenu;
import sunger.net.org.a.R;
public class MainActivity extends AppCompatActivity {
    private CircularMenu wheelMenuView;
    private EditText editText1, editText2, editText3, editText4, editText5, editText6;
    private Button button;
    private PanAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wheelMenuView = (CircularMenu) findViewById(R.id.panview);
        //  wheelMenuView = new WheelMenuView(this);
//        setContentView(wheelMenuView);
//        wheelMenuView.setLineWidth(20);
//        wheelMenuView.setItemCount(6);
//        wheelMenuView.setBackgroundColor(Color.BLACK);
//        wheelMenuView.setPressedColor(Color.BLUE);
//        wheelMenuView.setRadius(300);
//        wheelMenuView.setInnerRadius(120);
//        wheelMenuView.setItemColor(Color.CYAN);
//        wheelMenuView.setCenterView(R.layout.center_layout);
//        wheelMenuView.setRadiusLineWidth(20);
//        wheelMenuView.setStartAngle(5);
        adapter = new PanAdapter();
        wheelMenuView.setAdapter(adapter);
        editText1 = (EditText) findViewById(R.id.editText1);
        editText2 = (EditText) findViewById(R.id.editText2);
        editText3 = (EditText) findViewById(R.id.editText3);
        editText4 = (EditText) findViewById(R.id.editText4);
        editText5 = (EditText) findViewById(R.id.editText5);
        editText6 = (EditText) findViewById(R.id.editText6);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //大圆半径
                float radius = Float.valueOf(editText1.getText().toString());
                float innerRadius = Float.valueOf(editText2.getText().toString());
                //线条宽度
                float lineWidth = Float.valueOf(editText3.getText().toString());
                //内圆线宽度
                float radiusLineWidth = Float.valueOf(editText4.getText().toString());
                int itemCount = Integer.valueOf(editText5.getText().toString());
                int startAngle = Integer.valueOf(editText6.getText().toString());
                wheelMenuView.setInnerRadius(innerRadius);
                wheelMenuView.setLineWidth(lineWidth);
                wheelMenuView.setItemCount(itemCount);
                wheelMenuView.setStartAngle(startAngle);
                wheelMenuView.setRadiusLineWidth(radiusLineWidth);
                wheelMenuView.setRadius(radius);
            }
        });
    }
}

PanAdapter

package sunger.net.org;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import sunger.net.org.a.R;
/**
 * Created by sunger on 16/1/26.
 */
public class PanAdapter extends BaseAdapter {
    @Override
    public int getCount() {
        return 6;
    }
    @Override
    public Object getItem(int position) {
        return null;
    }
    @Override
    public long getItemId(int position) {
        return 0;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView textView = (TextView) LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view, null,false);
        textView.setText("Item" + position);
        return textView;
    }
}
已下载
0