android横向滑动导航菜单,Android实现导航菜单左右滑动效果

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

*

* This class was automatically generated by the

* aapt tool from the resource data it found.  It

* should not be modified by hand.

*/

package com.slide.menu;

public final class R {

public static final class anim {

public static final int translate=0x7f040000;

}

public static final class attr {

}

public static final class drawable {

public static final int bg=0x7f020000;

public static final int btn_back_bg=0x7f020001;

public static final int btn_home_bg=0x7f020002;

public static final int divider_horizontal_line=0x7f020003;

public static final int ic_launcher=0x7f020004;

public static final int item_cloud=0x7f020005;

public static final i

属性            大小     日期    时间   名称

----------- ---------  ---------- -----  ----

文件        430  2012-04-20 13:43  MySlideMenu\.classpath

文件        847  2012-04-20 09:14  MySlideMenu\.project

文件        786  2012-04-21 14:35  MySlideMenu\AndroidManifest.xml

文件        381  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$anim.class

文件        328  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$attr.class

文件       1126  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$drawable.class

文件        971  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$id.class

文件        832  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$layout.class

文件        830  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R$string.class

文件        545  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\R.class

文件       1108  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuActivity$ImageNextonclickListener.class

文件       1120  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuActivity$ImagePreviousonclickListener.class

文件       2108  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuActivity$SlideMenuAdapter.class

文件       1545  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuActivity$SlideMenuChangeListener.class

文件       4692  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuActivity.class

文件       2165  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuLayout$1.class

文件       4492  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\menu\SlideMenuLayout.class

文件       1053  2012-04-25 08:27  MySlideMenu\bin\classes\com\slide\util\SlideMenuUtil.class

文件        620  2012-04-21 14:33  MySlideMenu\bin\res\drawable-hdpi\bg.png

文件       1471  2012-04-20 13:19  MySlideMenu\bin\res\drawable-hdpi\btn_back_bg.png

文件        782  2012-04-20 13:19  MySlideMenu\bin\res\drawable-hdpi\btn_home_bg.png

文件        241  2012-04-21 14:33  MySlideMenu\bin\res\drawable-hdpi\divider_horizontal_line.png

文件       3966  2012-04-20 13:13  MySlideMenu\bin\res\drawable-hdpi\ic_launcher.png

文件      53218  2012-04-21 16:09  MySlideMenu\bin\res\drawable-hdpi\item_database.png

文件      78349  2012-04-21 16:09  MySlideMenu\bin\res\drawable-hdpi\item_domain.png

文件      95170  2012-04-21 16:09  MySlideMenu\bin\res\drawable-hdpi\item_java.png

文件      66632  2012-04-21 16:09  MySlideMenu\bin\res\drawable-hdpi\item_manage.png

文件       1079  2012-04-21 19:03  MySlideMenu\bin\res\drawable-hdpi\menu_bg.png

文件        833  2012-04-20 14:10  MySlideMenu\bin\res\drawable-hdpi\next_button.png

文件        897  2012-04-20 14:10  MySlideMenu\bin\res\drawable-hdpi\previous_button.png

............此处省略83个文件信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现九宫格横向左右滑动的功能,可以使用 RecyclerView 和 GridLayoutManager 来实现。以下是具体步骤: 1. 在布局文件中,添加 RecyclerView 控件: ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="horizontal" /> ``` 2. 在代码中,初始化 RecyclerView 和 GridLayoutManager,并设置相关属性: ```java RecyclerView recyclerView = findViewById(R.id.recycler_view); GridLayoutManager layoutManager = new GridLayoutManager(this, 3); // 设置列数为3 layoutManager.setOrientation(RecyclerView.HORIZONTAL); // 设置水平滚动 recyclerView.setLayoutManager(layoutManager); int spacing = getResources().getDimensionPixelSize(R.dimen.grid_spacing); // 设置item之间的间距 recyclerView.addItemDecoration(new GridSpacingItemDecoration(3, spacing, true)); // 通过自定义ItemDecoration来实现 ``` 其中,GridSpacingItemDecoration 是自定义的一个 RecyclerView.ItemDecoration,用来设置 item 之间的间距,具体实现如下: ```java public class GridSpacingItemDecoration extends RecyclerView.ItemDecoration { private int spanCount; private int spacing; private boolean includeEdge; public GridSpacingItemDecoration(int spanCount, int spacing, boolean includeEdge) { this.spanCount = spanCount; this.spacing = spacing; this.includeEdge = includeEdge; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { int position = parent.getChildAdapterPosition(view); // item position int column = position % spanCount; // item column if (includeEdge) { outRect.left = spacing - column * spacing / spanCount; // spacing - column * ((1f / spanCount) * spacing) outRect.right = (column + 1) * spacing / spanCount; // (column + 1) * ((1f / spanCount) * spacing) if (position < spanCount) { // top edge outRect.top = spacing; } outRect.bottom = spacing; // item bottom } else { outRect.left = column * spacing / spanCount; // column * ((1f / spanCount) * spacing) outRect.right = spacing - (column + 1) * spacing / spanCount; // spacing - (column + 1) * ((1f / spanCount) * spacing) if (position >= spanCount) { outRect.top = spacing; // item top } } } } ``` 3. 创建 RecyclerView.Adapter 和 RecyclerView.ViewHolder,并在 onBindViewHolder() 方法中设置 item 的内容: ```java public class GridAdapter extends RecyclerView.Adapter<GridAdapter.GridViewHolder> { private List<Integer> dataList; // 数据源 public GridAdapter(List<Integer> dataList) { this.dataList = dataList; } @NonNull @Override public GridViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_grid, parent, false); return new GridViewHolder(view); } @Override public void onBindViewHolder(@NonNull GridViewHolder holder, int position) { holder.imageView.setImageResource(dataList.get(position)); // 设置图片资源 } @Override public int getItemCount() { return dataList.size(); } static class GridViewHolder extends RecyclerView.ViewHolder { ImageView imageView; GridViewHolder(View itemView) { super(itemView); imageView = itemView.findViewById(R.id.image_view); } } } ``` 4. 最后在 Activity 中设置 RecyclerView 的 adapter: ```java List<Integer> dataList = new ArrayList<>(); // 数据源 dataList.add(R.drawable.pic1); dataList.add(R.drawable.pic2); dataList.add(R.drawable.pic3); dataList.add(R.drawable.pic4); dataList.add(R.drawable.pic5); dataList.add(R.drawable.pic6); dataList.add(R.drawable.pic7); dataList.add(R.drawable.pic8); dataList.add(R.drawable.pic9); GridAdapter adapter = new GridAdapter(dataList); recyclerView.setAdapter(adapter); ``` 这样就可以实现九宫格横向左右滑动效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值