简单菜单栏

我也是在网上看到的,就来试验了一下,总体来说还不错,比较简单清新,不像别的一些比较繁琐复杂,现在的app我个人觉得都是趋于简单化,大家也可以试验一下,

布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="#ffffff"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.jake.smart.SmartMenu
        android:id="@+id/smart_menu"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:vertical_padding="13dp"
        app:outer_padding="30dp"
        app:inner_padding="10dp"
        app:dot_radius="2dp"
        app:dot_distance="25dp"
        app:bg_color="#b4282d"
        app:shadow_color="#40000000"
        app:dot_color="@android:color/white"/>
</RelativeLayout>```
#####menu文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image_view"
android:src="@mipmap/icon_album"
android:layout_width="30dp"
android:layout_height="30dp"
android:scaleType="center"
android:layout_centerInParent="true"/>
</RelativeLayout>

#####MainActivity

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SmartMenu smartMenu = (SmartMenu) findViewById(R.id.smart_menu);
    MenuAdapter adapter = new MenuAdapter();
    adapter.setListener(new ItemEventListener() {
        @Override
        public void onEventNotify(View view, int position, Object... data) {
            switch (position) {
                case 0:
                    toast("ALBUM");
                    break;
                case 1:
                    toast("COMMENT");
                    break;
                case 2:
                    toast("DRAFT");
                    break;
                case 3:
                    toast("LIKE");
                    break;
            }
        }
    });
    smartMenu.setAdapter(adapter);
}

private void toast(String msg) {
    Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}

}

#####adapter

public class MenuAdapter extends BaseAdapter implements View.OnClickListener{

private int[] images = new int[]{R.mipmap.icon_album,
        R.mipmap.icon_comment,
        R.mipmap.icon_draft,
        R.mipmap.icon_like};
private ItemEventListener listener;

public void setListener(ItemEventListener listener) {
    this.listener = listener;
}

@Override
public int getCount() {
    return 4;
}

@Override
public Object getItem(int i) {
    return null;
}

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

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_menu, viewGroup, false);
    view.setOnClickListener(this);
    view.setTag(i);
    ImageView img = (ImageView) view.findViewById(R.id.image_view);
    img.setImageResource(images[i]);
    return view;
}

@Override
public void onClick(View view) {
    if(listener!=null){
        listener.onEventNotify(view,(int)view.getTag());
    }
}

}

#####Listener

public interface ItemEventListener {
public void onEventNotify(View view, int position,Object... data);
}```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 本人初学Android,最近做了一个实现安卓简单音乐播放功能的播放器,收获不少,于是便记录下来自己的思路与知识总结...
    落日柳风阅读 19,233评论 2 41
  • 环信官方Demo源码分析及SDK简单应用 环信官方Demo源码分析及SDK简单应用-ChatDemoUI3.0 环...
    imGeek阅读 1,629评论 0 3
  • 生易,活难,生活无解。 这是今天早上遇到的一位农民工,与其说我是在写他的故事,倒不如说这是我的一次反省之旅。 "小...
    若离宝贝阅读 357评论 2 1
  • 详情请看上一篇。 我现在应该去找一下倩雪看看他是不是穿越了。 “好了,来吧,给本公主更衣,本公主要去雪儿那里。” ...
    白凌薇阅读 344评论 0 1