SwipeMenuListView左滑menu显示不全

图片描述

/**
 * 首页Fragment
 */
public class HomeFragment extends LazyFragment {
    public static String TAG = "HomeFragment";
    private RelativeLayout item1;
    private RelativeLayout item2;
    private RelativeLayout item3;
    private RelativeLayout item4;
    private BannerComponent bannerComponent;
    public MyApplication app;
    private SwipeMenuListView mListView;
    private List<Message> messageList;
    private Context context;
    @Override
    protected void onCreateViewLazy(Bundle savedInstanceState) {
        super.onCreateViewLazy(savedInstanceState);
        setContentView(R.layout.fragment_home_layout);
        app = (MyApplication) getActivity().getApplication();
        context=getActivity();
        mListView=(SwipeMenuListView)findViewById(R.id.listview);
        EventBus.getDefault().register(this);//在要接收消息的页面注册EventBus
        initDB();
        //ListView展示数据
        messageList = findAll(Message.class); //查询数据库所有记录R.layout.message_item
        Log.d(TAG, "onCreateViewLazy: "+messageList);
        MessageAdapter messageAdapter = new MessageAdapter(app,R.layout.message_item,messageList);
        mListView.setAdapter(messageAdapter);
       mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent = new Intent(app, WebViewActivity.class);//跳转到webview
            startActivity(intent);
            Message message = messageList.get(position);
            String htmlUrl = message.getHtmlUrl();
            EventBus.getDefault().postSticky(new Message(htmlUrl));//粘性事件,在注册后发送
            }
        });
        /**
         * 创建SwipeMenuCreator
         */
        SwipeMenuCreator creator = new SwipeMenuCreator() {
            @Override
            public void create(SwipeMenu menu) {
                SwipeMenuItem openItem = new SwipeMenuItem(context);
                openItem.setBackground(new ColorDrawable(Color.BLACK));
                openItem.setWidth(dp2px(200));
                openItem.setTitle("置顶");
                openItem.setTitleSize(20);
                openItem.setTitleColor(Color.WHITE);
                menu.addMenuItem(openItem);
                SwipeMenuItem deleteItem = new SwipeMenuItem(context);
                deleteItem.setBackground(new ColorDrawable(Color.RED));
                deleteItem.setWidth(dp2px(200));//90
                deleteItem.setTitle("删除");
                deleteItem.setTitleSize(20);//20
                deleteItem.setTitleColor(Color.WHITE);
                menu.addMenuItem(deleteItem);
//                //可以加入图片
//                SwipeMenuItem deleteItem1 = new SwipeMenuItem(context);
//                deleteItem1.setBackground(new ColorDrawable(Color.LTGRAY));
//                deleteItem1.setWidth(dp2px(90));
//                deleteItem1.setIcon(android.R.drawable.ic_delete);
//                menu.addMenuItem(deleteItem1);
            }
        };
        /**
         * 实例化
         */
        mListView.setMenuCreator(creator);
        /**
         * 监听事件
         */
       mListView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
                //index的值就是在SwipeMenu依次添加SwipeMenuItem顺序值,类似数组的下标。
                //从0开始,依次是:0、1、2、3...
                switch (index) {
                    case 0:
                        Toast.makeText(context, "置顶:" + position, Toast.LENGTH_SHORT).show();
                        break;

                    case 1:
                        Toast.makeText(context, "删除:" + position, Toast.LENGTH_SHORT).show();
                        break;
                }

                // false : 当用户触发其他地方的屏幕时候,自动收起菜单。
                // true : 不改变已经打开菜单的样式,保持原样不收起。
                return false;
            }
        });

        // 监测用户在ListView的SwipeMenu侧滑事件。
        mListView.setOnSwipeListener(new SwipeMenuListView.OnSwipeListener() {

            @Override
            public void onSwipeStart(int pos) {
                Log.d("位置:" + pos, "开始侧滑...");
            }

            @Override
            public void onSwipeEnd(int pos) {
                Log.d("位置:" + pos, "侧滑结束.");
            }
        });
        
        布局代码:
        <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="261dp">

        <android.support.v4.view.ViewPager
            android:id="@+id/banner_viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />


        <com.shizhefei.view.indicator.FixedIndicatorView
            android:id="@+id/banner_indicator"
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_gravity="right|bottom" />
    </FrameLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_vertical"
        android:layout_height="130dp">

        <RelativeLayout
            android:id="@+id/item1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center">

            <ImageView
                android:id="@+id/iv_item1"
                android:layout_width="60dip"
                android:layout_height="60dip"
                android:layout_centerHorizontal="true"
                android:src="@drawable/ic_home_man" />

            <TextView
                android:id="@+id/tv_item1"
                style="@style/style_home_item_tv"
                android:layout_below="@+id/iv_item1"

                android:text="热门商品" />


        </RelativeLayout>
        <RelativeLayout
            android:id="@+id/item2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center">

            <ImageView
                android:id="@+id/iv_item2"
                android:layout_width="60dip"
                android:layout_height="60dip"
                android:layout_centerHorizontal="true"
                android:src="@drawable/ic_home_weather" />

            <TextView
                android:id="@+id/tv_item2"
                style="@style/style_home_item_tv"
                android:layout_below="@+id/iv_item2"

                android:text="气象站" />


        </RelativeLayout>
        <RelativeLayout
            android:id="@+id/item3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center">

            <ImageView
                android:id="@+id/iv_item3"
                android:layout_width="60dip"
                android:layout_height="60dip"
                android:layout_centerHorizontal="true"
                android:src="@drawable/ic_home_fav" />

            <TextView
                android:id="@+id/tv_item3"
                style="@style/style_home_item_tv"
                android:layout_below="@+id/iv_item3"

                android:text="我的收藏" />


        </RelativeLayout>
        <RelativeLayout
            android:id="@+id/item4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center">

            <ImageView
                android:id="@+id/iv_item4"
                android:layout_width="60dip"
                android:layout_height="60dip"
                android:layout_centerHorizontal="true"
                android:src="@drawable/ic_home_points" />

            <TextView
                android:id="@+id/tv_item4"
                style="@style/style_home_item_tv"
                android:layout_below="@+id/iv_item4"

                android:text="每日签到" />


        </RelativeLayout>
    </LinearLayout>

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <com.baoyz.swipemenulistview.SwipeMenuListView
            android:id="@+id/listview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>

    </FrameLayout>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
        <ImageView
            android:id="@+id/msg_image"
            android:layout_width="43dp"
            android:layout_height="43dp"
            android:src="@drawable/ic_launcher"/>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginLeft="10dp">
        <TextView
            android:id="@+id/msg_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"/>

        <TextView
            android:id="@+id/msg_content"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"/>
        </LinearLayout>
</LinearLayout>
阅读 1.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题