Android画廊效果

Android画廊效果



前言:Gallery是一个内部元素控件,可以水平滚动,并且可以把当前选择的子元素定位在它中心的布局组件;画廊Gallery一般用来显示可左右移动图片的列表(具体请看实例)。



效果:




开发环境:AndroidStudio2.2.1+gradle-2.14.1



涉及知识:

1.自定义控件
2.Gallery使用等

部分代码:

public class MainActivity extends AppCompatActivity {

    //适配器
    private FancyCoverFlowSampleAdapter adapter = null;

    private FancyCoverFlow fancyCoverFlow;

    private List<String> list = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initLayout();
        initData();
    }

    private void initLayout() {
        fancyCoverFlow = (FancyCoverFlow) findViewById(R.id.main_gallery);
        fancyCoverFlow.dp2px();// child间距
        adapter = new FancyCoverFlowSampleAdapter(this, list);
        fancyCoverFlow.setAdapter(adapter);
        //点击事件监听
        fancyCoverFlow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this, "ItemClick-------->" + position, Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void initData() {
        for (int i = 0; i < 9; i++) {
            list.add("" + i);
        }
        adapter.notifyDataSetChanged();
        fancyCoverFlow.setSelection(1);//显示第几个
    }

    /**
     * FancyCoverFlow属性使用
     *
     * // 未选中的透明度
     * this.fancyCoverFlow.setUnselectedAlpha(0.0f);
     * // 未选中的饱和度
     * this.fancyCoverFlow.setUnselectedSaturation(0.0f);
     * // 未选中的比例
     * this.fancyCoverFlow.setUnselectedScale(0.8f);
     * // child间距
     * this.fancyCoverFlow.setSpacing(-60);
     * // 旋转度数
     * this.fancyCoverFlow.setMaxRotation(0);
     * // 非选中的重心偏移,负的向上
     * this.fancyCoverFlow.setScaleDownGravity(-1f);
     * // 作用距离
     * this.fancyCoverFlow.setActionDistance(FancyCoverFlow.ACTION_DISTANCE_AUTO);
     */
    
}


源码下载...


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值