用于分享到个平台的竖直列表和九宫格

用于分享到个平台的竖直列表和九宫格

1.主界面代码比较简单,使用ActionSheet,需要导入相应的包

implementation 'com.baoyz.actionsheet:library:1.1.5'
public class MainActivity extends AppCompatActivity {

    Button main_button;
    Button list_button;
    String name;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //设置了相同属性,此处将不起作用
//        setTheme(R.style.themeStyle2);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        main_button = (Button) findViewById(R.id.main_button);
        list_button = (Button) findViewById(R.id.list_button);

        main_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                AndroidActionSheetFragment.build(getSupportFragmentManager()).setChoice(AndroidActionSheetFragment.Builder.CHOICE.ITEM).setTitle("标题").setTag("MainActivity")
//                        .setItems(new String[]{"1", "2", "3", "4", "5", "6"}).setOnItemClickListener(new AndroidActionSheetFragment.OnItemClickListener() {
//                    @Override
//                    public void onItemClick(int position) {
//
//                    }
//                }).show();
                AndroidActionSheetFragment.build(getSupportFragmentManager()).setChoice(AndroidActionSheetFragment.Builder.CHOICE.GRID).setTitle("分享平台").setTag("MainActivity")
                        .setItems(new String[]{"QQ", "微信", "微博", "Facebook", "Twitter"}).setImages(
                        new int[]{R.mipmap.ic_qq, R.mipmap.ic_wechat, R.mipmap.ic_sina, R.mipmap.ic_share_facebook, R.mipmap.ic_share_twitter}).setOnItemClickListener(new AndroidActionSheetFragment.OnItemClickListener() {
                    @Override
                    public void onItemClick(int position) {
                        Toast.makeText(getApplicationContext(), position + "", Toast.LENGTH_SHORT).show();
                    }
                }).show();
            }
        });

        list_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ActionSheet.createBuilder(getApplicationContext(), getSupportFragmentManager())
                        .setCancelButtonTitle("取消")
                        .setOtherButtonTitles("QQ", "微信", "微博", "Facebook", "Twitter")//小写字母会变大小字母
                        .setCancelableOnTouchOutside(true)//dialog弹出后会点击屏幕,dialog是否消失
                        .setListener(new ActionSheet.ActionSheetListener() {
                            @Override
                            public void onDismiss(ActionSheet actionSheet, boolean isCancel) {

                            }

                            @Override
                            public void onOtherButtonClick(ActionSheet actionSheet, int index) {
                                switch (index) {
                                    case 0://QQ
                                        name = "QQ";
                                        break;
                                    case 1://微信
                                        name = "微信";
                                        break;
                                    case 2://微博
                                        name = "微博";
                                        break;
                                    case 3://Facebook
                                        name = "Facebook";
                                        break;
                                    case 4://Twitter
                                        name = "Twitter";
                                        break;
                                }
                                Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
                            }
                        }).show();
            }
        });
    }
}

2.显示九宫格的类

public class MainActivity extends AppCompatActivity {

    Button main_button;
    Button list_button;
    String name;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //设置了相同属性,此处将不起作用
//        setTheme(R.style.themeStyle2);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        main_button = (Button) findViewById(R.id.main_button);
        list_button = (Button) findViewById(R.id.list_button);

        main_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                AndroidActionSheetFragment.build(getSupportFragmentManager()).setChoice(AndroidActionSheetFragment.Builder.CHOICE.ITEM).setTitle("标题").setTag("MainActivity")
//                        .setItems(new String[]{"1", "2", "3", "4", "5", "6"}).setOnItemClickListener(new AndroidActionSheetFragment.OnItemClickListener() {
//                    @Override
//                    public void onItemClick(int position) {
//
//                    }
//                }).show();
                AndroidActionSheetFragment.build(getSupportFragmentManager()).setChoice(AndroidActionSheetFragment.Builder.CHOICE.GRID).setTitle("分享平台").setTag("MainActivity")
                        .setItems(new String[]{"QQ", "微信", "微博", "Facebook", "Twitter"}).setImages(
                        new int[]{R.mipmap.ic_qq, R.mipmap.ic_wechat, R.mipmap.ic_sina, R.mipmap.ic_share_facebook, R.mipmap.ic_share_twitter}).setOnItemClickListener(new AndroidActionSheetFragment.OnItemClickListener() {
                    @Override
                    public void onItemClick(int position) {
                        Toast.makeText(getApplicationContext(), position + "", Toast.LENGTH_SHORT).show();
                    }
                }).show();
            }
        });

        list_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ActionSheet.createBuilder(getApplicationContext(), getSupportFragmentManager())
                        .setCancelButtonTitle("取消")
                        .setOtherButtonTitles("QQ", "微信", "微博", "Facebook", "Twitter")//小写字母会变大小字母
                        .setCancelableOnTouchOutside(true)//dialog弹出后会点击屏幕,dialog是否消失
                        .setListener(new ActionSheet.ActionSheetListener() {
                            @Override
                            public void onDismiss(ActionSheet actionSheet, boolean isCancel) {

                            }

                            @Override
                            public void onOtherButtonClick(ActionSheet actionSheet, int index) {
                                switch (index) {
                                    case 0://QQ
                                        name = "QQ";
                                        break;
                                    case 1://微信
                                        name = "微信";
                                        break;
                                    case 2://微博
                                        name = "微博";
                                        break;
                                    case 3://Facebook
                                        name = "Facebook";
                                        break;
                                    case 4://Twitter
                                        name = "Twitter";
                                        break;
                                }
                                Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
                            }
                        }).show();
            }
        });
    }
}

3.使用九宫格的适配器

public class ActionSheetAdapter extends BaseAdapter {

    Context context;
    String title[];

    public ActionSheetAdapter(Context context, String[] title) {
        this.context = context;
        this.title = title;
    }

    @Override
    public int getCount() {
        return title.length;
    }

    @Override
    public Object getItem(int position) {
        return title[position];
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView==null) {
            convertView= LayoutInflater.from(context).inflate(R.layout.adapter_pop, parent, false);
            holder=new ViewHolder();
            holder.pop_desp= (TextView) convertView.findViewById(R.id.pop_desp);
            convertView.setTag(holder);
        }
        else {
            holder= (ViewHolder) convertView.getTag();
        }
        TypedArray array=context.obtainStyledAttributes(null, R.styleable.SheetParams, R.attr.myThemeStyle, 0);
        array.recycle();
        holder.pop_desp.setTextColor(array.getColor(R.styleable.SheetParams_textColor, Color.BLACK));
        holder.pop_desp.setTextSize(array.getDimensionPixelSize(R.styleable.SheetParams_textSize, 10));
        holder.pop_desp.setText(title[position]);
        return convertView;
    }

    public static class ViewHolder {
        TextView pop_desp;
    }
}

4.adapter_share.xml的布局代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/adapter_share_layout"
    android:layout_width="match_parent"
    android:layout_height="120dip"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/adapter_share_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/adapter_share_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:gravity="center_horizontal"
        android:text="QQ" />
</LinearLayout>

5.adapter_pop.xml的布局代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="45dip">
    <TextView
        android:id="@+id/pop_desp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textColor="#007aff"
        android:text="取消"
        android:textSize="15sp"/>
</LinearLayout>

6.效果展示图片

5.下载路径:

https://download.csdn.net/download/dawnzeng/10563671

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值