Questions tagged «android-actionbar»

ActionBar是Android的窗口功能,可识别应用程序和用户位置,并提供用户操作和导航模式。


6
动作栏下的ProgressBar
问题摘要:我如何像在Chrome App上那样ProgressBar在内集成ActionBar? 详细信息:查看Chrome的以下屏幕截图: 我想像这样创建一个动作栏。在操作栏的下面,有一个根据页面加载情况填充的ProgressBar。我已经从许多应用程序(例如Feedly)中看到了这个示例,但是我无法创建自己的实现。我尝试使用Android自己的API创建它: @Override protected void onCreate(Bundle savedInstanceState) { //Request Permission to display the Progress Bar... this.requestWindowFeature(Window.FEATURE_PROGRESS); this.setWindowContentView(R.layout.activity_main) super.onCreate(savedInstanceState); this.setProgressBarIndeterminate(true); } 但是此代码只会使ProgressBar显示在操作栏上,如下所示: 因此,如何使ProgressBar出现在操作栏下方,就像在Chrome应用程序上一样?

11
自动折叠ActionBar SearchView在软键盘上关闭
我目前正在使用ActionBar菜单项在操作栏中显示SearchView。展开搜索菜单项后,将显示我想要的软键盘。现在,当用户按下后退按钮以关闭软键盘时,我也想在操作栏中折叠SearchView。 我已经尝试在MenuItem和ActionView上实现以下侦听器OnKeyListener和OnFocusChangeListener。我也尝试在Activity中使用OnBackPressed()。当使用后退按钮关闭软键盘时,以上方法均无法检测。 有任何想法吗? 我已经实现了OnActionExpandListener,以知道何时可以看到SearchView。


11
使用片段回栈处理ActionBar标题?
我Activity在中加载了一个位置ListFragment,然后单击它会向下钻取一个级别,并显示一种新类型的ListFragment,替换了原来的级别(使用showFragment下面的方法)。这被放置在后面的堆栈上。 开始时,活动在操作栏中显示默认标题(即,它是根据应用程序的自动设置的android:label)。 在显示层次结构中下一级的列表时,单击的项目名称应成为操作栏的标题。 但是,按时Back,我希望恢复原始的默认标题。这是FragmentTransaction一无所知,因此标题不会恢复。 我已经模糊地阅读了有关FragmentBreadCrumbs,但这似乎需要使用自定义视图。我正在使用ActionBarSherlock,并且希望没有自己的自定义标题视图。 最好的方法是什么?是否有可能没有大量样板代码并且不必跟踪沿途显示的标题? protected void showFragment(Fragment f) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.fragment_container, f); ft.addToBackStack(null); ft.commit(); }

13
操作栏后退按钮不起作用
在这些Android文档的帮助下,我试图做一个操作栏的后退按钮。我得到一个如下所示的操作栏的后退按钮: 输出: 但是我的问题是,观看图库图像后,按action bar back button。 然后it is not working。但是必须go back to previous page。 下面列出的是编码。 GalleryActivity.java: import android.app.ActionBar; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.NavUtils; import android.view.MenuItem; import com.fth.android.R; public class GalleryActivity extends FragmentActivity { private int position; private static String id; private static String name; private DemoCollectionPagerAdapter mDemoCollectionPagerAdapter; private ViewPager …

14
如何修复getActionBar方法可能会产生java.lang.NullPointerException
我在活动中使用工具栏作为操作栏。我正在尝试将该方法添加getActionBar().setDisplayHomeAsUpEnabled(true);到Activity.java文件中,以便在较旧的设备上进行向上导航。 该方法在Android Studio中产生以下错误消息: 方法调用可能会产生java.lang.NullPointerException 工具栏上的“向上”导航在较新的设备上可以正常使用...现在,我正在尝试弄清楚如何确保它可以在较旧的设备上使用。请指教。 从build.gradle中: dependencies { compile "com.android.support:appcompat-v7:22.1.0" } 从AndroidManifest.xml: android:theme="@style/Theme.AppCompat.NoActionBar.FullScreen" 从styles.xml <style name="Theme.AppCompat.NoActionBar.FullScreen" parent="AppTheme"> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> 来自Activity.java public class CardViewActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cardviewinput); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { // Up …


17
如何在Android 4.2中更改操作栏选项菜单的背景颜色?
我想在Android 4.2中更改选项(溢出)菜单的背景颜色。我已经尝试了所有方法,但仍显示主题设置的默认颜色。我使用了以下代码和XML配置。 MainActivity.java public class MainActivity extends Activity { @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setIcon(R.drawable.ic_launcher); getActionBar().setTitle("Sample Menu"); getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#33B5E5"))); int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android"); TextView titleText = (TextView)findViewById(titleId); titleText.setTextColor(Color.parseColor("#ffffff")); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the …


6
ActionBar向上导航重新创建父活动,而不是onResume
我对上行导航使用推荐的方法,我的代码如下所示: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent h = new Intent(ShowDetailsActivity.this, MainActivity.class); h.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(h); return true; default: return super.onOptionsItemSelected(item); } } 这是用例: 我启动了我的应用程序“ MainActivity” 我单击一个按钮转到“ ShowDetailsActivity” 我单击UP ActionBar导航 问题是,当我单击UP之后,MainActivity再次击中其onCreate()方法并失去所有状态,而不是像从ShowDetailsActivity中仅调用“ finish()”那样,从典型的onResume()开始。为什么?这是它始终有效的方式,这是Android重新创建所有使用“向上”导航方法导航到的活动的预期行为吗?如果单击后退按钮,则会获得预期的onResume生命周期。 这是我的解决方案,如果不存在Android的“适当”版本: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: …

5
使用navigationUpFromSameTask()从活动返回
我有两个活动A和B。第一次启动活动A时,它访问Intent传递给它的内容(因为Bundleis null,因为它应该是第一次通过),并相应地显示信息: CustInfo m_custInfo; ... protected void onCreate(Bundle savedInstanceState) { ... Bundle bundle = (savedInstanceState == null) ? getIntent().getExtras() : savedInstanceState; m_custInfo = (CustInfo) m_bundle.getSerializable("CustInfo"); if (m_custInfo != null ... } 第一次运行正常。该EditText控制和ListView正确地填写。 现在,单击列表中的项目时,活动B开始显示详细信息: m_custInfo = m_arrCustomers.get(pos); Intent intent = new Intent(A.this, B.class); intent.putExtra("CustInfo", m_custInfo); // CustInfo is serializable // printing …

14
Android:getSupportActionBar()始终在ActionBarSherlock库中返回null
我试图使用ActionBarSherlock库在Android应用程序中使用选项卡提供向后兼容的ActionBar支持,因此我下载了最新版本,并构建了演示并运行了它。 如果转到操作栏,则选择“选项卡导航”,每次都会崩溃。这是堆栈跟踪: 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): FATAL EXCEPTION: main 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.actionbarsherlock.sample.demos/com.actionbarsherlock.sample.demos.app.ActionBarTabNavigation}: java.lang.NullPointerException 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.os.Handler.dispatchMessage(Handler.java:99) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.os.Looper.loop(Looper.java:132) 09-03 02:34:47.940: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.