用于分享到个平台的竖直列表和九宫格
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.下载路径: