基於ADT中默認的「固定選項卡+輕掃」活動,我有一個FragmentActivity
和FragmentPagerAdapter
。如何在尋呼機中顯示單獨的片段
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>
你在圖片上面的東西是默認的對話框標題欄。您可以通過調用 \t \t getDialog()。getWindow()。requestFeature(Window.FEATURE_NO_TITLE);在你的dialogFragments onCreateView之前,你膨脹你的視圖 – Jakob
Woah。這很容易:D,謝謝。這是至少有一點照顧到:)。注意添加你認爲是最好的方法來做到這一點?這是一個好方法,與對話? – Nanne