0

基於ADT中默認的「固定選項卡+輕掃」活動,我有一個FragmentActivityFragmentPagerAdapter如何在尋呼機中顯示單獨的片段

FragementPagerAdapter非常簡單(只是基於被調用的位置返回一個特定的片段),此刻FragmentActivity本身也是Eclipse提供的「示例」代碼的默認值。在「有趣」的部分在最後連接,但是這是它的外觀在不同的片段中的一個(顯然簡化了問題 - 目的)現在

,我有一個按鈕,應該表現出一定的信息和圖片/圖片:這些東西並不屬於標籤視圖。

這是最好的方法是什麼?

我想過要麼開始一個新的活動,但這是不鼓勵有利於片段建設,所以我丟棄了這個選項。然後,我可以製作一個「隨機」片段來展示,但我不確定如何在尋呼機上實現這一點 - >這實際上可能是最好的方法。

我能想出的是顯示DialogFragment。我其實像這樣實現的:

首先創建這個onCreateView一個DialogFragment:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    LinearLayout v = (LinearLayout) inflater.inflate(R.layout.entry, container, false); 
    //set image 
    return v; 
} 

,並顯示如下所示:

fragment.show(getSupportFragmentManager(), "dialog"); 

的XML是一種簡單的LinearLayout有人提出,在stackoverflow上。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:minWidth="1000dp" 
    android:minHeight="1000dp"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:contentDescription="@string/image_desc" 
     /> 

</LinearLayout> 

這裏的問題是,雖然這還好吧顯示,似乎有什麼東西(尋呼機標題欄不知道?)上面的圖片添加:

這很難看,但我相信它直接與pager-fragment-titles的底部一致,所以我似乎「繼承了」了一些功能?

當前基本碼

從的onCreate在FragmentActivity

setContentView(R.layout.activity_main); 
... 

mSectionsPagerAdapter = new SectionsPagerAdapter(
    getSupportFragmentManager()); 
mViewPager = (ViewPager) findViewById(R.id.pager); 
mViewPager.setAdapter(mSectionsPagerAdapter); 

SectionsPagerAdapter是內級FragmentPagerAdapter返回一些片斷,沒有什麼有趣

activity_main,再次相當標準:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

<!-- 
This title strip will display the currently visible page title, as well as the page 
titles for adjacent pages. 
--> 

    <android.support.v4.view.PagerTitleStrip 
     android:id="@+id/pager_title_strip" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:background="#555555" 
     android:paddingBottom="4dp" 
     android:paddingTop="4dp" 
     android:textColor="#fff" /> 

</android.support.v4.view.ViewPager> 
+0

你在圖片上面的東西是默認的對話框標題欄。您可以通過調用 \t \t getDialog()。getWindow()。requestFeature(Window.FEATURE_NO_TITLE);在你的dialogFragments onCreateView之前,你膨脹你的視圖 – Jakob

+0

Woah。這很容易:D,謝謝。這是至少有一點照顧到:)。注意添加你認爲是最好的方法來做到這一點?這是一個好方法,與對話? – Nanne

回答

1

在我看來,使用dialogFragment似乎是一種很好的方法,它當然是最簡單的一種。

此外,你可以讓你的dialogFragment全屏,如果是合適的,這樣的: 創建值自定義對話框樣式/ styles.xml

<!-- DIALOG STYLE --> 
<style name="Your.Dialog" parent="android:Theme.Holo.Dialog" > 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowIsFloating">false</item> 
</style> 

,然後設置您撥打片段的風格,像這樣:

myDialogFragment dialog = new myDialogFragment(); 
    dialog.setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Your_Dialog); 
    dialog.show(getSupportFragmentManager(), "fragment_tag"); 
+0

我可以做一個setStyle嗎?你的評論確實有效,但我似乎無法在對話框中調用setStyle,儘管 – Nanne

+0

哎呀,我的錯誤。更新了答案。 – Jakob

相關問題