标签: up-navigation

ActionBar中可绘制的后箭头的ID是多少?

以下代码导致后箭头出现在ActionBar中:

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我正在寻找arrow drawable的资源ID,即android.R.drawable.xxx.我需要这个ID的原因是我可以在我的应用程序的其他地方手动设置相同的箭头(大小和颜色).

我尝试制作自己的drawable并使用它,但大小与ActionBar中的大小不同.

android back android-actionbar android-drawable up-navigation

7
推荐指数
2
解决办法
7279
查看次数

如何在运行时设置活动的父活动?

我有任意数量的分层嵌套视图/活动.操作栏应显示向上导航按钮以在任何视图中导航到更高级别.为此,谷歌文档说我必须在活动的xml定义中使用标记设置父活动.但是,我正在动态创建我的活动,并且子元素可以与它的父元素具有相同的活动.

那么如何在运行时将父活动设置为实际的父实例?

android android-activity android-actionbar up-navigation android-navigation

5
推荐指数
1
解决办法
7080
查看次数

向上导航和工具栏标题之间​​的空间太大

有谁知道为什么会这样?

第一个是它的样子,第二个是我想要的样子

这就是它的样子

这就是我想要它的样子

OBS:当我在工具栏中启用应用程序图标时,它与标题之间几乎没有空格

android up-navigation android-toolbar

4
推荐指数
1
解决办法
1262
查看次数

onOptionsItemSelected 未调用按片段上的导航图标

标题几乎是不言自明的。

建筑学:

  • 我有扩展 AppCompatActivity 的主要活动。
  • 我还有一个抽屉布局。此菜单的每个选项都会打开一个片段。
  • 每个片段都有自己的菜单布局,通过 setHasOptionsMenu(true) 和自己的按钮。他们菜单的主页按钮仍然是打开抽屉布局的入口。
  • 其中一个片段有一个项目列表,当单击其中一个项目时,将打开一个新的子片段。(这是问题)我希望这个子片段能够通过单击其工具栏上的向上图标导航到其父片段。

我在替换片段之前禁用抽屉切换并将 Home As Up 指示器设置为:

        mDrawerToggle.setDrawerIndicatorEnabled(false);
        drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

        actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_white_24dp);
        actionBar.setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

然后,当单击 UP 图标时,没有任何反应。我调试了它,但没有调用 onOptionsItemSelected 方法。

仅供参考,我添加到菜单中的所有其他按钮(搜索、刷新等)都可以工作,并且 onOptionsItemSelected 会被调用。

android fragment up-navigation actionbardrawertoggle

3
推荐指数
1
解决办法
2114
查看次数

Up Navigation 和 singleTop 启动模式

我有一个活动 A,当我按下工具栏项时,它使用 startActivity(intent) 启动活动 B。每当我按下后退按钮或向上导航图标时,它都会关闭我的应用程序。我相信这是因为我在我的父活动中使用了 launchMode="singleTop"(我使用它是因为我有一个搜索视图和一个可搜索的配置,因为我不想开始我的另一个活动实例进行搜索)。所以问题是:如何在不关闭我的应用程序的情况下使用向上导航和后退按钮从子活动(B)返回到父活动(A)?我已经搜索过了,我发现了一些关于 onNewIntent() 的信息。如果这是我的解决方案,我应该如何正确使用它?


这是我的清单文件:

        <activity
            android:name="com.example.fernando.inspectionrover.MainActivity"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.SEARCH" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>
        <activity
            android:name="com.example.fernando.inspectionrover.BluetoothSettingsActivity"
            android:parentActivityName="com.example.fernando.inspectionrover.MainActivity"
            android:screenOrientation="landscape">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.fernando.inspectionrover.MainActivity" />
Run Code Online (Sandbox Code Playgroud)

以下是如何开始我的新活动:

switch (id) {
            case R.id.bluetoothActivity:
                Intent switchActivity = new Intent(this, BluetoothSettingsActivity.class);
                startActivity(switchActivity);
                Log.i(LIFE_CYCLE, "Switching from " + getLocalClassName() + " to Bluetooth Setting Activity");
                finish();
                break;
        }
Run Code Online (Sandbox Code Playgroud)

android launchmode android-activity up-navigation

3
推荐指数
1
解决办法
2888
查看次数

android - 子活动完成时刷新父活动

我有一个父Activity,它启动了一个子活动.

在儿童活动中,我做:

toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Ride");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

当我单击Home/Up按钮时,我finish是活动.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,我finish还在Child Activity中的另一个地方,在我所拥有的两个地方finish,它都会回到Parent Activity.

我的问题:

我的问题是,我想刷新父活动只有在的情况下一个finishes.

当我没有从Up按钮完成结束时- Parent Activity中的数据发生了变化,所以 - 当我按Back/Up按钮时,不需要刷新Parent,但当我执行另一个时finish,我想刷新的家长.

我怎么能检测出来?

android parent-child android-activity up-navigation

2
推荐指数
1
解决办法
7279
查看次数