滑动隐藏显示菜单功能实现(还有蒙板校果),只显示一半view

好吧.我是标题党.其实我说的显示一半的不是activity. 而是看上去像只显示一半activity.

但真实的是只是操作其中一个view

网上有很多这类的代码. 但怎么都不及自己写的自己理解的深刻.

这文章给你带来的只是引导作用.希望可以帮到像我当初一样疑惑的人

首先说页理

我的想法是这样的: 两个帧布局. 一上一下. 点击一下按扭. 上面那个往右显. 让下面的那个露出一部份来

所有的关键是操作上面那个布局的Leftmargin. 然后再开线程来一点点改变Leftmargin的值.让上面布局滑动起来

很简单吧..初当可把我想得纠结死了.网上的案例都很复杂

如果做过web前端的人应很易理解 . 因为在div+css只会大量应用到这个Leftmargin

里面有大量的注释...不知道能不能看懂.写得有点乱.当时很困了

上草图

现\

activity_main.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    
    <include layout="@layout/frame_leftmenu"/>
	
	<include layout="@layout/frame_middlecontent"/>
    
</FrameLayout>

底局layout我的叫fram_leftmenu. 上层的我的叫frame_middlecontent

fram_leftmenu.xml

<?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"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一个简单的Android代码实现新手引导页的示例: 1. 首先,在布局文件中创建一个FrameLayout,并在其中添加需要展示的View,例如: ```xml <FrameLayout android:id="@+id/guide_container" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/image_view" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image" /> </FrameLayout> ``` 2. 在Activity中,创建一个View用于展示,并在其上绘制需要展示的区域,例如: ```java public class GuideActivity extends AppCompatActivity { private View mMaskView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); // 获取布局容器 FrameLayout container = findViewById(R.id.guide_container); // 创建View mMaskView = new View(this); mMaskView.setBackgroundColor(Color.parseColor("#80000000")); // 绘制圆形区域,需要展示的View是ImageView int radius = getResources().getDimensionPixelSize(R.dimen.guide_radius); int[] location = new int[2]; ImageView imageView = findViewById(R.id.image_view); imageView.getLocationOnScreen(location); int centerX = location[0] + imageView.getWidth() / 2; int centerY = location[1] + imageView.getHeight() / 2; Canvas canvas = new Canvas(); Bitmap bitmap = Bitmap.createBitmap(container.getWidth(), container.getHeight(), Bitmap.Config.ARGB_8888); canvas.setBitmap(bitmap); canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); canvas.drawCircle(centerX, centerY, radius, new Paint()); // 在View上绘制Bitmap BitmapDrawable drawable = new BitmapDrawable(getResources(), bitmap); mMaskView.setBackground(drawable); // 添加View到布局容器中 container.addView(mMaskView); } } ``` 3. 在关闭页时,移除View并销毁Activity,例如: ```java public void onCloseClick(View view) { // 移除View FrameLayout container = findViewById(R.id.guide_container); container.removeView(mMaskView); // 销毁Activity finish(); } ``` 以上就是一个简单的Android代码实现新手引导页的示例,你可以根据需要进行调整和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值