2016/03/04

Android 搬移 View 到最上層顯示

在 Android 中,

可以利用下面語法, 將 View 搬移到最上層 (top) 顯示 :
 語法
viewName.bringToFront();

範例, 參考如下 :

Layout 範例 :
 Layout XML
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <Button
        android:id="@+id/button"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button 1"
        />
    
    <Button
        android:id="@+id/button2"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="50dp"
        android:layout_marginTop="25dp"
        android:text="Button 2"
        />
</RelativeLayout>

程式範例 :
 程式碼
public class TomTest extends Activity implements OnClickListener
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView( R.layout.main_test );
        
        Button button1 = (Button)findViewById( R.id.button);
        button1.setOnClickListener( this );
        
        Button button2 = (Button)findViewById( R.id.button2);
        button2.setOnClickListener( this );
    }

    @Override
    public void onClick(View v)
    {
        // 移到最上層顯示
        v.bringToFront();
        
        setTitle( ((Button)v).getText() + " 在最上層" );
    }
}

範例結果 :