2013-10-02 10 views
0

我犯了一個佈局的動作條:如何設置一個操作欄的包含,例如隱形?

actionbar.xml:

<LinearLayout 
    android:id="@+id/titleLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="85dp" 
    android:height="70dip" 
    android:orientation="horizontal" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp" > 

    <ImageView 
     android:id="@+id/logo" 
     android:layout_width="300dp" 
     android:layout_height="70dp" 
     android:layout_marginBottom="54dp" 
     android:paddingLeft="24dp" 
     android:paddingTop="5dp" 
     android:src="@drawable/mobility" /> 

</LinearLayout> 

我包括這個佈局在其他一些佈局是這樣的:

<include 
    android:id="@+id/include" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    layout="@layout/actionbar" /> 

現在我想要設置這個包含的actionbar-layout在所有的la中都是不可見的你在哪裏包括它。

有沒有辦法做到這一點?

編輯:

並考慮我用ViewFlipper的佈局之間進行切換。

回答

0

您可以設置它無形像任何其他元素或佈局:

findViewById(R.id.include).setVisibility(View.INVISIBLE); 

兩個備註:

  • 我想你實際上是尋找隱蔽性更強的形式是:findViewById(R.id.include).setVisibility(View.GONE);
  • 您必須爲每個包含使用不同的ID以確保找到了正確的ID。但我想你只是簡化了你的問題的代碼。
+0

是的,我試過這個,它適用於第一個佈局。因爲我使用ViewFlipper在視圖之間切換,並且如果我使用您編寫的代碼,它只會在「主視圖」中獲得,我在其中聲明ViewFlipper不可見。所以我想讓所有的佈局都看不見。任何想法? –

+1

你有多一個ActionBar嗎?你在使用什麼API級別?您要麼使用較新的API級別(Android 3.0+),並且可以使用Fragments和ActionBar(無ViewFlipper)或較舊的API級別(Android 2.3-),並且必須使用ViewFlipper和ActionBarSherlock。在第二種情況下,您必須將所有包含單獨設置爲不可見。 – jboi

+0

我在版本4.0.3和minSdkVersion 14上編程。 –

1

你就不能這樣做

findViewById(R.id.titleLayout).setVisibility(View.INVISIBLE); 

如果您正在使用ViewFlipper,然後像這可能幫助:

vf.getCurrentView().findViewById(R.id.titleLayout).setVisibility(View.INVISIBLE); 

其中VF是參考你的ViewFlipper從XML

HTH

+0

es我試過這個,它適用於第一個佈局。因爲我使用ViewFlipper在視圖之間切換,並且如果我使用您編寫的代碼,它只會在「主視圖」中獲得,我在其中聲明ViewFlipper不可見。所以我想讓所有的佈局都看不見。任何想法? –

+0

@silvia_aut相應地編輯了我的答案。 HTH –

+0

不,它也不起作用。我想我必須設置所有包括seperatly。感謝您的回覆。 –

0

試試這個,

View mView = findViewById(R.id.include); 
ImageView mImgView = (ImageView) mView.findViewById(R.id.logo).setVisibility(View.GONE); 

使用該方法,您可以訪問任何包含的任何字段。

+0

錯誤:無法從void轉換爲ImageView。 –

+0

使項目清潔 –

相關問題