タグ付けされた質問 「android-actionbar」

ActionBarは、アプリケーションとユーザーの場所を識別し、ユーザーアクションとナビゲーションモードを提供するAndroidのウィンドウ機能です。

8
Android Lollipop、AppCompat ActionBarカスタムビューが画面全体の幅を占めない
そのため、コードベースをLollipopに更新しましたが、アクションバーで問題が発生しています。AppCompatとActionBarActivityを使用しており、カスタムビューを拡張しています。カスタムビューが画面の幅全体を占めることがなくなり、左側に細いストリップが残っているようです 見た目通り 今の様子 これは、アクションバーを設定するために使用しているコードです。誰かアイデアはありますか? final ActionBar actionBar = getSupportActionBar(); if(actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayShowCustomEnabled(true); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setCustomView(R.layout.action_bar_content_search_custom_view); actionBar.setBackgroundDrawable(null); // actionBar.setStackedBackgroundDrawable(null); TextView title = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_title); title.setText(R.string.youtube); ImageView back = (ImageView) actionBar.getCustomView().findViewById(R.id.action_bar_back); back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } 編集する カスタムビューを削除して背景を変更すると、幅全体が占めるようになります。それで問題は、CustomViewにActionBarの幅全体を占めるようにするにはどうすればよいですか?

3
フラグメントまたはアクティビティのツールバーを使用したコーディネーターレイアウト
新しいデザインライブラリには、開発者の希望に応じてツールバーの動作を大きく変えるいくつかの新しいレイアウトがあります。フラグメントによって動作や目的が異なるため、たとえば、重要な写真を表示する折りたたみツールバーのあるギャラリーフラグメントや、ツールバーを非表示にするためにappbarlayoutを必要としないscrollviewのないフラグメントの場合、アクティビティに単一のツールバーがあると、難しいことを証明します。 これで、ツールバーを各フラグメントに移動する必要がありますか?その場合、フラグメントを表示するたびにsupportActionBarを設定する必要があり、フラグメントの独立した性質を無効にするフラグメント内のアクティビティの参照も必要です。ツールバーをアクティビティに残したままにすると、各フラグメントの動作のタイプごとに複数のレイアウトを定義する必要があります。最善のアプローチは何でしょうか?

7
ActionBarに表示されるメニュー項目を更新する方法は?
2つのフラグメントを持つアクティビティがあります。どちらもListFragmentsであり、MenuItemsをMenuに提供します。ActionBarのボタンとして表示するためにandroid:showAsAction属性を設定した1つのMenuItemがあります。うまくいきます。 現在、MenuItemは状態に依存しています。これは、キューを一時停止および再開するための一時停止/再開メニューオプションです。私の問題は、フラグメントが作成されたときの初期像の設定方法がわからないことです。 その状態は、キューが一時停止されているかどうかによって異なります。したがって、キューを取得し、キューの状態に基づいてブール値(一時停止)を設定するAsyncTaskがあります。onPrepareOptionsMenuを呼び出して、キューの最後の既知の状態に基づいて一時停止メニュー項目のテキストを設定します。これは、実際のメニューにMenuItemを残しておくとうまく機能します。メニューアイコンをタップすると、onPrepareOptionsMenuが起動し、メニューが表示される前に更新されます。 問題は、同じMenuItemをActionBar(showAsAction)に配置した場合、onPrepareOptionsMenuを呼び出さずに強制的に更新する方法です。アプリを初めて起動したときに、キューを取得するリクエストを送信しましたが、ActionBarがセットアップされて表示された後にタスクが戻るため、これを実行できるようにする必要があります。キューの更新を取得するたびに呼び出されるハンドラーをフラグメントに作成しましたが、そこから、ActionBarのMenuItemのテキストをどのように更新できますか?onPrepareOptionMenuを除いて、現在設定されているメニューを操作する方法を見つけることができないようです。 ロブ・W

16
Android:特定のアクティビティでActionBarを非表示にする方法
私は、スプラッシュスクリーン、マップ、およびいくつかの通常のスクリーンを備えたシンプルなデモアプリケーションを開発しました。 上部にロゴを含むアクションバーがあります。私の電話(Galaxy s1 I9000 V2.3)ではすべて問題なく見えますが、Galaxy s2 v4でテストすると、スプラッシュ画面とマップ画面にもアクションバーが表示されます。 スパルシュアクティビティとマップアクティビティはActionBarActivityからも継承していないので、それをどのようにして可能にし、どうすればそれを解消できますか? マニフェスト: <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:theme="@style/Theme.AppCompat.Light" > <activity android:name=".HomeActivity" android:icon="@drawable/android_logo" android:label="" android:logo="@drawable/android_logo" > <!-- <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> --> </activity> <activity android:name=".MapActivity" android:label="" > </activity> <activity android:name=".PackageActivity" android:icon="@drawable/android_logo" android:label="" android:logo="@drawable/android_logo" > </activity> <activity android:name=".SplashActivity" android:label="" > <intent-filter> <action android:name="android.intent.action.MAIN" …

11
Appcompat 21でツールバーの色を変更する
Appcompat 21の新しいマテリアルデザイン機能をテストしています。したがって、次のようなツールバーを作成しました。 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_my_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/> それをメインのレイアウトファイルに含めました。 次に、それをsupportActionBarとして設定しました。 Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar); setSupportActionBar(toolBar); それは機能していますが、どういうわけか、ツールバーをカスタマイズする方法をまったく理解できません。それは灰色で、その上のテキストは黒です。背景とテキストの色を変更するにはどうすればよいですか? 私はこの指示を通りました: http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html 色を変えるために私は何を監督しましたか? <style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="android:windowActionBar" tools:ignore="NewApi">false</item> <item name="windowActionBar">false</item> </style> 編集: 次のコード行をテーマに追加することで、背景色を変更できました。 <item name="colorPrimary">@color/actionbar</item> <item name="colorPrimaryDark">@color/actionbar_dark</item> ただし、テキストの色には影響しません。何が欠けていますか?黒いテキストと黒いメニューボタンの代わりに、白いテキストと白いメニューボタンの方が好きです。

6
ActionBarでカスタムビューを表示する方法
アクションバーにカスタム検索を表示したい(そのためにActionBarSherlockを使用しています)。 了解: しかし、私はカスタムレイアウト(edittextフィールド)を使用可能な幅全体を占めるようにしたいと思います。 ここで提案されているように、カスタムレイアウトを実装しました。 私のカスタムレイアウトがありますsearch.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="?attr/actionButtonStyle" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="fill_horizontal" android:focusable="true" > <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical|fill_horizontal" > <EditText android:id="@+id/search_query" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="left|center" android:background="@drawable/bg_search_edit_text" android:imeOptions="actionSearch" android:inputType="text" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" android:src="@drawable/ic_search_arrow" /> </FrameLayout> </LinearLayout> そしてでMyActivity: ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowCustomEnabled(true); actionBar.setDisplayShowTitleEnabled(false); actionBar.setIcon(R.drawable.ic_action_search); LayoutInflater inflator = …

9
Androidアクションバーにオーバーフローが表示されない
アプリに3つのアイテムのアクションバーがあります。 スペースの問題により表示できるのは2つだけなので、最初のものが表示され、残りがオーバーフローで表示されることを期待します。ただし、実際には最初の2つの項目のみが表示され、オーバーフローは検出されません。 関連するコードは次のとおりです。list_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_insert" android:icon="@android:drawable/ic_menu_add" android:title="@string/menu_insert" android:showAsAction="ifRoom|withText"/> <item android:id="@+id/menu_call" android:icon="@android:drawable/ic_menu_call" android:title="@string/menu_call" android:showAsAction="ifRoom|withText"/> <item android:id="@+id/menu_agenda" android:icon="@android:drawable/ic_menu_agenda" android:title="@string/menu_agenda" android:showAsAction="ifRoom|withText"/> </menu> Activity.java public boolean onCreateOptionsMenu(Menu menu) { MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.list_menu, menu); return true; }

21
フラグメントからのカスタムActionBarタイトルの設定
メインではFragmentActivity、次のActionBarようにカスタムタイトルを設定します。 LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflator.inflate(R.layout.custom_titlebar, null); TextView tv = (TextView) v.findViewById(R.id.title); Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/capsuula.ttf"); tv.setTypeface(tf); tv.setText(this.getTitle()); actionBar.setCustomView(v); これは完璧に機能します。ただし、他を開いFragmentsたら、タイトルを変更したい。Activityこれを行うためにメインにアクセスする方法がわかりませんか?過去に、私はこれをしました: ((MainFragmentActivity) getActivity()).getSupportActionBar().setTitle( catTitle); 誰かが適切な方法についてアドバイスできますか? XML: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:ellipsize="end" android:maxLines="1" android:text="" android:textColor="#fff" …


9
フラグメントによるアクションバーのアップナビゲーション
タブ付きのActionbar / viewpagerレイアウトで、A、B、Cの 3つのタブがあります。タブC tab(fragment)で、フラグメントDなどの別のフラグメントを追加しています。と DFragment f= new DFragment(); ft.add(android.R.id.content, f, ""); ft.remove(CFragment.this); ft.addToBackStack(null); ft.commit(); DFragmentのonResumeのアクションバーを変更して、ボタンを追加します。 ActionBar ab = getActivity().getActionBar(); ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); ab.setDisplayHomeAsUpEnabled(true); ab.setDisplayShowHomeEnabled(true); DFragmentで、ハードウェア(電話)の[戻る]ボタンを押すと、CFragmentが選択された元のTabbed(ABC)レイアウトに戻ります。アクションバーのアップボタンでこの機能を実現するにはどうすればよいですか?


3
アクションバーにドロップダウンアイテムを追加する方法
私のAndroidHoneycombアプリケーションでは、ナビゲーションスタイルとしてタブを使用しています。オーバーフローボタンの横に1つのアイテムを追加したいのですが、そのアイテムをドロップダウンリストにしたいので、ユーザーはそこでオプションを選択できますが、ナビゲーションとは関係ありません。私が使用しているので最も簡単な方法は何ですかmActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); カスタムビューを使用せずにそれを行うことは可能ですか?

9
(非推奨)フラグメントonOptionsItemSelectedが呼び出されない
編集: この質問は、非推奨のシャーロックアクションバーに関するものでした。代わりにAndroidサポートライブラリを使用する必要があります 表示される共有と呼ばれるアクションバーメニューオプションを追加しましたfragmentが、選択イベントがキャッチされていません このように追加します @Override public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) { MenuItem item = menu.add(0, 7,0, R.string.share); item.setIcon(R.drawable.social_share).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); } 両方でそれを捕獲しようとしているfragmentとfragment activityのような @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 7: Intent share = new Intent(Intent.ACTION_SEND); share.setType("text/plain"); share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!"); startActivity(Intent.createChooser(share, "Share Text")); return true; default: …

4
アクションバーにSearchViewを実装する
私SearchViewは自分から作成し、arrayList<String>これと同じドロップダウンリストに提案を表示 する必要があります SearchViewアクションバーでを構築する方法を段階的に説明するチュートリアルを探しています。 私はドキュメントを読み、グーグルの例に従いましたが、それは私には役に立ちませんでした。 検索を作成しました <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_search" android:title="Search" android:icon="@android:drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" /> </menu>` しかし、文字列の配列のパラメータを設定する方法がわかりません。別のアクティビティで結果を取得しようとしましたが、機能しませんでした。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.