当Activity启动时,用户应该看到左侧
- 即:顶部的绿色View被裁剪,只有其底部可见
- 红色View以交互方式显示在下方,使得用户可以按下红色按钮等操作
- 对于绿色View的顶部部分,任何触摸事件都不应起作用(除了顶部不可见之外)
当用户触摸绿色View的底部时,整个绿色View应变为可见状态
- 那么,为什么我不能只为绿色View设置一个上边距(类似于制作此图片的方式)?原因是,绿色View具有特殊性质,它包含手势检测,并以高度依赖于其完整尺寸的方式响应这些手势——因此,在仍需要将其中一部分设为不可见(在用户触摸底部部分之前),我无法调整绿色View的大小。
有什么建议吗?
右侧的XML,如何获得不调整绿色View大小的左侧?
绿色View实际上不是TextView,而是一个具有基于手势的动画效果的自定义ViewGroup
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/border_red">
<Button
android:background="@drawable/btn_red"
android:text="View Below Visible"
android:textSize="20sp"
android:layout_centerInParent="true"
android:layout_width="260dp"
android:layout_height="60dp"/>
</RelativeLayout>
<TextView
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/btn_green"
android:text="View with Special Gesturing"
android:textColor="@color/white"
android:textSize="20sp"
android:gravity="bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
</RelativeLayout>