所以即時通訊工具在我的視圖上按下按鈕點擊區域時出現問題。我目前有一個非常簡單的視圖,在任何動畫之前,視圖的寬度被限制在其中包含的按鈕的大小,儘管我告訴在寬度和高度都是fill_parent。安卓按鈕在動畫後不可點擊
我有正確使用setClipChildren(false)工作的動畫繪圖,但仍然停止按鈕被點擊。我也正確地移動了實際按鈕的視圖,因爲當其中一個按鈕(我在此動畫中有5個獨立移動)直接移動到初始起始位置上方時,它可以被點擊並且我能夠正確接收。
這裏是使用最外面的視圖代碼IM(我有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>
UPDATE:只是假設動畫在寬度100dp的semicricle圖案和按鈕均勻地間隔開並且視圖正確移動。希望這會清除一些事情並幫助找到解決方案。
更新再次:好的,這個時候有人應該能夠幫助我弄清楚什麼是錯誤的,我編輯了背景,以便在包含按鈕的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>
下面是與添加色素的屏幕截圖應該十分清楚,什麼是錯了,但我根本無法看到它。
你所有的按鈕是堆疊的? – Ronnie
在相對佈局中,在你的xml中使用相對定位來放置你的小部件:layout_below,above,toLeftOf等。 – Snicolas
是的,他們都是從相同的位置開始,然後動畫到不同的位置,然後手動放置該視圖,以便它應該接收觸摸事件,但我敢肯定,它正在被剪裁的地方,就像它通常是,直到我加了setClipChildren(false) – Intrivix