2017-02-08 12 views
1

要素の順序を変更するときは、ImageButtonの後にButtonを置きます.Z-インデックスには影響しません。私は他のタイプのビューを試してみましたが、それらは親のオーダーに応じて正しく重ねて配置されますFrameLayout。 View.bringToFront()でプログラムを試してみましたが、成功しませんでした。FrameLayoutのImageButtonとButtonは、Z-インデックスを変更しません。

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Suzi" 
     android:textSize="22sp" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@mipmap/ic_launcher" /> 

</FrameLayout> 
+1

「FrameLayout」に2つのボタンを配置するポイントは何ですか? – pskink

+0

ボタンにIDがない場合、どうやってbringToFront()を呼び出しますか?コードを投稿する – MikeKeepsOnShine

+0

ポイントは片方のボタンを脇に置き、オフセットを付けてもう一方の上に置くことです。 – speirs23

答えて

1

私はLollipop +のデバイスで私のために再現され、Lollipop前では再生されません。 これを確認してください。 translationZが利用できないことを

<FrameLayout android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Suzi" 
     android:textSize="22sp" 
     android:translationZ="1dp"/> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" 
     android:translationZ="2dp"/> 

</FrameLayout> 

そしてその事実:それはまさにそうであるならば

、次いでこの溶液をandroid:translationZ

のような何か(ロリポップ以降で使用可能です)属性を使用するのが良いかもしれませんそのような問題はないので、Lollipopを前に置いても問題ありません(属性は無視されます)。

希望します。

+0

ありがとう!それがトリックでした。 – speirs23

関連する問題