因此我在浏览器视图中按下按钮单击区域时出现问题。我现在有一个非常简单的视图,在任何动画之前,视图的宽度被限制在其中包含的按钮的大小,即使我告诉我在宽度和高度都是fill_parent。
我使用setClipChildren(false)正确运行动画的绘图,但这仍然是停止点击按钮。我也正确地移动了实际按钮的视图,因为当其中一个按钮(我在这个动画中有5个都独立移动)直接移动到初始起始位置之上时,它可以被点击,我甚至可以正确接收。
这里是用于最外层视图的代码(我有2个模拟以后如何将这个视图添加到更大的项目中):
<?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"
android:orientation="vertical" >
<com.tests.FancyBottomTab
android:id="@+id/fancyBottomTab1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:gravity="center_horizontal"
android:clipChildren="false">
</com.tests.FancyBottomTab>
</RelativeLayout>
然后这是FancyBottomTab用作布局xml:
的内容 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:background="@drawable/b1"
android:paddingBottom="5dp" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:background="@drawable/b2"
android:paddingBottom="5dp" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:background="@drawable/b3"
android:paddingBottom="5dp" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:background="@drawable/b4"
android:paddingBottom="5dp" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:background="@drawable/b5"
android:paddingBottom="5dp" />
<Button
android:id="@+id/fancyRedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/fancy_red_button"
android:visibility="visible" />
</RelativeLayout>
更新:假设动画采用宽度为100dp的半圆形图案,并且按钮均匀分布并且视图正确移动。希望这可以解决一些问题并帮助找到解决方案。
再次更新:好的,这次有人应该能够帮我找出问题所在,我已经编辑了背景,以便包含按钮的RelativeLayout中的on是半透明的(下图中的灰色),然后外部RelativeLayout上的背景是白色的。现在,外部RelativeLayout必须保留一个相对布局以便稍后进行布局,但这里是用于它的XML:
<?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"
android:background="@color/white"
android:orientation="vertical" >
<com.dobango.tests.FancyBottomTab
android:id="@+id/fancyBottomTab1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:clipChildren="false"
android:gravity="center_horizontal" >
</com.dobango.tests.FancyBottomTab>
</RelativeLayout>
这是一个添加了颜色的屏幕截图,应该可以清楚地表明出现问题,但我根本看不到它。
答案 0 :(得分:0)
好的,所以我不知道为什么这是绝对必要的,以使视图正确显示,特别是因为我已经在XML文件中说了同样的事情,但这条线完全解决了问题:
view.setLayoutParams(new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
如果有人知道为什么我必须将此行放在我的自定义相对布局类中,请发表评论并解释。感谢。