2012-04-01 59 views
0

我是一個新手android開發人員,我自然有很多問題:) 我想設計一個包含選項卡式活動的應用程序。將有3個ImageButton和這些按鈕之間的小約數。如果我按下其中一個按鈕,它將被聚焦。我的問題是:我如何修改tabhost/tabwidget樣式?如果按下了按鈕,則顯示一張照片,如果不是,則顯示另一張。我不需要android默認突出顯示,我可以重寫它嗎?Android定製TabWidget

在此先感謝!

BR,彼得

回答

2

這將幫助你:在按下時

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape> 
      <solid 
       android:color="#d2d2d2" /> 
      <stroke 
       android:width="1dp" 
       android:color="#000000" /> 
      <corners 
       android:radius="3dp" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#ffffff" 
       android:endColor="#ffffff" 
       android:angle="270" /> 
      <stroke 
       android:width="1dp" 
       android:color="#000000" /> 
      <corners 
       android:radius="3dp" /> 
     </shape> 
    </item> 
</selector> 

看到的其他網頁:

<LinearLayout 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/headerContent" 
     android:orientation="horizontal" 
     android:background="@drawable/bg_seablue" 
     android:padding="10dip"> 

     <Button 
      android:layout_height="wrap_content" 
      android:id="@+id/tabOne" 
      android:layout_width="fill_parent" 
      android:layout_weight="1.0" 
      android:background="@drawable/bg_tabs" 
      android:padding="10dp" 
      android:text="Tab 1" 
      android:textColor="#000000" 
      android:textSize="16dip" 
      android:layout_marginRight="2dp" 
      android:onClick="onClick"/> 

     <Button 
      android:layout_height="wrap_content" 
      android:id="@+id/tabTwo" 
      android:layout_width="fill_parent" 
      android:layout_weight="1.0" 
      android:background="@drawable/bg_tabs" 
      android:padding="10dp" 
      android:text="Tab 2" 
      android:textColor="#000000" 
      android:textSize="16dip" 
      android:layout_marginRight="2dp" 
      android:onClick="onClick"/> 

     <Button 
      android:layout_height="wrap_content" 
      android:id="@+id/tabThree" 
      android:layout_width="fill_parent" 
      android:layout_weight="1.0" 
      android:textColor="#000000" 
      android:background="@drawable/bg_tabs" 
      android:padding="10dp" 
      android:text="Tab 3" 
      android:textSize="16dip" 
      android:layout_marginRight="2dp" 
      android:onClick="onClick"/> 

    </LinearLayout> 

下面的代碼是爲標籤的BG按鈕使用以下代碼:

public void onClick(View v) { 

     Intent intent = new Intent(); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 

     switch(v.getId()){ 

      case R.id.tabOne: 
       intent = new Intent(this, tabOne.class); 
      break; 

      case R.id.tabTwo: 
       intent = new Intent(this, tabTwo.class); 
      break; 

      case R.id.tabThree: 
       intent = new Intent(this, tabThree.class); 
      break; 

     } 

     startActivity(intent); 
     finish(); 
     overridePendingTransition(0, 0); 

    } 

這會幫助你更多,但我確信它。玩得開心編碼!

+0

Xonarial,謝謝你的回答。我嘗試過這種方式,並沒有什麼不好,但我想要的是與以及TabActivity類似的佈局。關鍵是我必須修改元素,但我不知道如何...... – hcpeter 2012-04-01 11:42:23

+0

嘿,希望這有助於: http://joshclemm.com/blog/?p=136 – Xarialon 2012-04-01 11:51:17