2011-10-05 29 views
0

正如我的下面的代碼顯示,一旦按鈕五和六顯示titlesfourq1。 我點擊buttonfive它會顯示numten,然後如果我點擊numten它會顯示numsix。但是如何在同一個佈局中用numten顯示numsix?如何使用viewflipper?

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout android:id="@+id/LinearLayout01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"> 

<AbsoluteLayout android:id="@+id/radioGroup1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

    <Button android:background="@drawable/buttonsix" android:id="@+id/radio0" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="50dip" android:layout_x="20dip" android:layout_y="55dip"> 
    </Button> 

     <Button android:background="@drawable/buttonfive" android:id="@+id/radio1" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 




</AbsoluteLayout> 

    <ViewFlipper android:id="@+id/ViewFlipper01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_x="20dip"> 
     <!--adding views to ViewFlipper--> 

     <TextView 
    android:id="@+id/title" 
    android:textStyle="bold" 
    android:textColor="#ffffff" 
    android:gravity="center_vertical|center_horizontal" 
    android:text="@string/titlesfourq1" android:layout_height="wrap_content" android:layout_y="10dip" android:layout_x="5dip" android:textSize="20dip" android:layout_width="340dp"/> 

     <Button android:text="@string/numten" android:id="@+id/number" android:textStyle="bold" android:background="@color/translucent_black" android:textColor="#ffffff" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 

      <Button android:text="@string/numsix" android:id="@+id/number" android:textStyle="bold" android:background="@color/translucent_black" android:textColor="#ffffff" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 



     <TextView android:id="@+id/TextView02" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Second view is now displayed"></TextView> 
     <TextView android:id="@+id/TextView03" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Third view is now displayed"></TextView> 
    </ViewFlipper> 

</AbsoluteLayout> 

的Java:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.ViewFlipper; 

public class Sfourq1 extends Activity { 

    Button RB0; 
    Button RB1; 
    Button RB2; 
    ViewFlipper VF; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sfourq1); 

     /* 
     * Find the views declared in main.xml. 
     */ 
     RB0 = (Button) findViewById(R.id.radio0); 
     RB1 = (Button) findViewById(R.id.radio1); 
     RB2 = (Button) findViewById(R.id.number); 
     VF = (ViewFlipper) findViewById(R.id.ViewFlipper01); 

     /* 
     * Set a listener that will listen for clicks on the radio buttons and 
     * perform suitable actions. 
     */ 
     RB0.setOnClickListener(button_one); 
     RB1.setOnClickListener(button_two); 
     RB2.setOnClickListener(button_test); 

    } 

    /* 
    * Define a OnClickListener that will change which view that is displayed by 
    * the ViewFlipper 
    */ 
    private OnClickListener button_one = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.radio0: 
       VF.setDisplayedChild(0); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 

       break; 

      } 
     } 
    }; 


    private OnClickListener button_two = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.radio1: 
       VF.setDisplayedChild(1); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 

       break; 


      } 
     } 
    }; 



    private OnClickListener button_test = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.number: 
       VF.setDisplayedChild(2); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 
       Intent StartGameIntent = new Intent(Sfourq1.this,Home.class); 
       startActivity(StartGameIntent); 
       break; 

       } 
      } 
     }; 
} 

回答

1

爲此,你可以給相同的標記在不同的佈局,每當翻轉移動兩個按鈕(可通過觸摸事件得到)將焦點轉到按鈕,同一個標籤。

感謝名單

+0

所以你的意思是......在XML我添加兩個按鈕相同的ID?...然後在java中有按鈕查看圖像,這樣兩個圖像顯示...但如果以後我做什麼我想要兩個按鈕,我有相同的ID可點擊..它會給我一個力量關閉,因爲它不會知道哪個ID應該去​​哪個... – Wahid

+0

不具有相同的標識,但具有相同的標記(例如標記= 「我」)當帶有「我」標籤旋轉的鰭狀肢子時,您應該關注具有相同標籤(「我」)的按鈕。 –