我有一个带有操作栏的活动,我想返回到以前的活动,我该如何使用操作栏来做到这一点?
我正在使用这个材料设计导航抽屉的示例,问题是,当我打开抽屉时,它也覆盖了我的操作栏..并且我的抽屉图标不可见..这就是我得到的..下面是我的代码..
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/container_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</LinearLayout>
<FrameLayout
android:id="@+id/container_body"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<fragment
android:id="@+id/fragment_navigation_drawer"
android:name="info.androidhive.materialdesign.activity.FragmentDrawer"
android:layout_width="@dimen/nav_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
app:layout="@layout/fragment_navigation_drawer"
tools:layout="@layout/fragment_navigation_drawer" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
我是第一次使用Android Studio,无法ActionBar在运行该应用程序时进行演出。这是我到目前为止的内容:
我的活动MainActivity.java
package xeniasis.mymarket;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.support.v7.app.ActionBar;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return super.onCreateOptionsMenu(menu);
}
}
Run Code Online (Sandbox Code Playgroud)
它是布局activity_main.xml(那里什么都没有)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="xeniasis.mymarket.MainActivity"></RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
和带有一项activity_main.xml的菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="xeniasis.mymarket.MainActivity">
<item
android:id="@+id/action_update"
android:icon="@drawable/ic_action_update"
android:showAsAction="ifRoom"
android:title="@string/update_app" />
</menu>
Run Code Online (Sandbox Code Playgroud)
我需要其他东西才能显示ActionBar吗? …
我以这种方式在Android活动的操作栏中添加了向上按钮:
活动:
getSupportActionBar()。setDisplayHomeAsUpEnabled(true);
表现:
android:parentActivityName =“。MenuActivity”>
它工作正常,但现在我想在活动之间添加过渡效果。此过渡效果很好:
Intent intent = new Intent(getApplicationContext(),MenuActivity.class); startActivity(intent); overridePendingTransition(R.anim.slide_in_left,R.anim.slide_out_right);
但是我应该把这个过渡代码放在哪里?我在操作栏中没有任何用于后退按钮的侦听器。
谢谢建议
我正在开发一个具有窗口默认操作栏的应用程序,但是我想删除该应用程序栏并添加工具栏。我该如何添加
删除操作栏的代码:
<activity
android:name=".CMainActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
/>
Run Code Online (Sandbox Code Playgroud)
我正在扩展AppCompatActivity
// navigation bar code
m_Drawer = (DrawerLayout) findViewById(R.id.drawer_layout);//finding id of drawerlayout
s_drawerToggle = new ActionBarDrawerToggle(
this, m_Drawer, m_Toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
m_Drawer.setDrawerListener(s_drawerToggle);
m_Drawer.setScrimColor(getResources().getColor(android.R.color.transparent));
s_drawerToggle.syncState();
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<LinearLayout
android:id="@+id/container_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:titleTextColor="#FFFF"
app:layout_scrollFlags="scroll|enterAlways"
tools:ignore="UnusedAttribute">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="2dp"
app:tabTextAppearance="?android:textAppearanceMedium"
tools:ignore="UnusedAttribute"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
tools:ignore="PrivateResource"/>
Run Code Online (Sandbox Code Playgroud)
我的Activity正在扩展ActionBarActivity,我们在onCreate()中设置了一个后退导航按钮:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(getSupportActionBar()!=null)
{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
Run Code Online (Sandbox Code Playgroud)
对于背压,完成此活动是在给定的重写方法上,但它没有转移到以前的活动
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud) 如何更改操作栏切换按钮的颜色?
这是我的Java操作栏代码:
//Navigation view and Drawer layout
drawerlayout = (DrawerLayout) findViewById(R.id.main_ND);
actionBarDrawerToggle = new ActionBarDrawerToggle(this,drawerlayout,0,0);
navigationView = (NavigationView) findViewById(R.id.main_NV);
navigationView.setItemIconTintList(null);
View headerView = navigationView.getHeaderView(0);
nD_image = (ImageView) headerView.findViewById(R.id.nd_image);
Glide.with(getBaseContext()).load(R.drawable.my_paper).centerCrop().into(nD_image);
setNavigationView();
drawerlayout.addDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if(actionBarDrawerToggle.onOptionsItemSelected(item))
{
return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
以我的风格
<style name="my_theme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimaryDark">@color/salmonDark</item>
<item name="colorPrimary">@color/salmon_main</item>
<item name="colorAccent">@color/black</item>
<item name="android:actionMenuTextColor">@color/white</item><!-- green was: #8BC34A -->
<item name="android:actionMenuTextAppearance">@style/actionBarTextSize</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后在我的清单上
<activity android:name=".Main.Main"
android:screenOrientation="portrait"
android:theme="@style/zivit_theme"/>
Run Code Online (Sandbox Code Playgroud)
我不太确定如何更改颜色或在哪里进行更改。我希望有人可以张贴一些分步过程的示例代码(或执行此操作的那神奇的一行代码),谢谢!
android android-layout android-xml android-actionbar android-styles
我想在某些情况下在工具栏中显示后退按钮,并将其隐藏在另一种情况下。我写了下面的代码:
public void setupToolbar() {
if (mStacks.get(mCurrentTab).size() > 1) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
toolbar.setNavigationOnClickListener(v -> onBackPressed());
} else {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我的问题是当我将主页按钮设置为 false 时,即使第一个条件变为真,它也不再可见。有谁能够帮助我?
我现在在android上,我试图使用kotlin在工具栏上添加后退按钮,几乎尝试了网上发布的所有方法,它根本不起作用,总是因未知原因崩溃。有人可以帮忙吗?
class MainActivity : BaseActivity() {
override fun getLayoutId(): Int {
return R.layout.activity_main
}
override fun initData() {
super.initData()
val testButton = findViewById<Button>(R.id.testButton)
testButton.setOnClickListener{
startActivity<RegistrationActivity>()
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<include android:id="@+id/navBarView" layout="@layout/toolbar"/>
<Button
android:id="@+id/testButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="92dp"
android:layout_marginBottom="533dp"
android:height="50dp"
android:text="click me"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/navBarView" />
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
// 下面是工具栏 xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:titleTextColor="@color/white"
app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar" >
<TextView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:src="@mipmap/title_view_image"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center"
android:text="Toolbar" …Run Code Online (Sandbox Code Playgroud)