2

我在7号工具栏上使用DrawerLayout,我想在主要活动中显示汉堡包图标,后面的图标在孩子们的活动中。导航抽屉:无法在儿童活动的工具栏上显示后面的图标而不是汉堡包图标

我无法做到这一点,汉堡的图标总是显示,也在儿童活动。

我已经搜索过,所以没有成功(如果我失去了一些有用的问题,我很抱歉)。

这是Android清单:

<activity android:name=".activities.MainActivity"></activity> 
<activity 
    android:name=".activities.BuyActivity" 
    android:windowSoftInputMode="adjustResize" 
    android:parentActivityName=".activities.MainActivity"> 
    <meta-data 
    android:name="android.support.PARENT_ACTIVITY" 
    android:value=".activities.MainActivity" /> 
</activity> 

这是活动代码(BaseActivity是家长和孩子们的活动超):

public class BaseActivity extends AppCompatActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_buy); 

     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setHomeButtonEnabled(true); 

     actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.app_name, R.string.app_name); 
     drawerLayout.addDrawerListener(actionBarDrawerToggle); 
     getSupportActionBar().setDisplayShowTitleEnabled(false); 

     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)); 
    } 

} 

这是布局的一部分工具栏:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_height="?attr/actionBarSize" 
    android:layout_width="match_parent" 
    android:minHeight="?attr/actionBarSize" 
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    android:background="?attr/colorPrimary"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/txtTitle" 
     android:textColor="@android:color/white" 
     android:text="@string/title_buy" 
     android:textAppearance="@android:style/TextAppearance.Large" /> 
    <ImageView 
     android:layout_width="@dimen/toolbar_image" 
     android:layout_height="@dimen/toolbar_image" 
     android:src="@drawable/done" 
     android:background="@drawable/bg_border_white_l" 
     android:layout_marginRight="@dimen/toolbar_margin_right" 
     android:layout_marginEnd="@dimen/toolbar_margin_right" 
     android:contentDescription="@string/app_name" 
     android:layout_gravity="end" 
     android:id="@+id/imgDone" /> 
</android.support.v7.widget.Toolbar> 

我试过了:

  • 检查导入正确的android.support.v7.app.ActionBarDrawerToggle

我不知道我做错了。

+0

如果孩子的活动将会有抽屉可以用肘部进行操作,那么让他们始终显示回去的箭头并没有什么意义。 –

+0

很难确切地告诉你要做什么,但这可能有所帮助:http://stackoverflow.com/questions/34025331/how-can-i-control-the-activitys-up-button-from-a- contains-fragment –

回答

1

在儿童活动中,您不应该添加ActionBarDrawerToggle,因为这是设置汉堡包图标的内容。改为将ActionBarDrawerToggle改为主要活动。

+0

谢谢,这几乎解决了这个问题。我不得不在主要活动中放置“setHomeAsUpIndicator”这一行。 –

+0

非常感谢你,花了这么多时间来解决这个问题。 – CFJ90210

相关问题