Androidプロジェクトテンプレートを使用するときにナビゲーションドロワーのテキストスタイルを変更するにはどうすればよいですか?

レオン

ここでチュートリアルを使用したアプリが1つあります:http//developer.android.com/training/implementing-navigation/nav-drawer.html

現在、Navigation DrawerActivityテンプレートを選択した新しいプロジェクトに取り組んでいます。

ここに画像の説明を入力してください

残念ながら、このテンプレートの動作はチュートリアルとはまったく異なり、希望どおりに変更するのに苦労しています。

ナビゲーションドロワーのレイアウトは次のようになります。

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#cccc"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
tools:context="com.example.appname.NavigationDrawerFragment" />

チュートリアルのMainActivityで、mDrawerListアダプターのdrawer_list_itemを設定できます。

mPlanetTitles = getResources().getStringArray(R.array.planets_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);

// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_list_item, mPlanetTitles));
// Set the list's click listener
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

テンプレートでは、物事は異なる方法で行われます。

mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();

// Set up the drawer.
mNavigationDrawerFragment.setUp(R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout));

ナビゲーションドロワーレイアウトへの参照を手動で作成し、アダプターを設定しようとしましたが、タイトルが空白になっただけでした。

誰かがこれをうまくやったことがありますか?チュートリアルとはまったく異なる動作をするテンプレートを作成してくれたGoogleを酷評します。

レオン

さて、私は答えを見つけました、私は明らかに昨日きちんと見ていませんでした。

これで、navドロワーのセットアップがnavドロワーフラグメントクラスで実行されます。

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

    ///yada yada yada

    mDrawerListView.setAdapter(new ArrayAdapter<String>(getActionBar()
            .getThemedContext(), android.R.layout.simple_list_item_1,
            android.R.id.text1, new String[] {
                    getString(R.string.title_section1),
                    getString(R.string.title_section2),
                    getString(R.string.title_section3),}));
    mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
    return mDrawerListView;
}

そのため、ArrayAdapterのレイアウトリソースを変更するだけで済みました。

mDrawerListView.setAdapter(new ArrayAdapter<String>(getActionBar()
            .getThemedContext(), R.layout.drawer_list_item,
            android.R.id.text1, new String[] {

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ