精华内容
下载资源
问答
  • Android实现返回键功能

    2020-09-02 03:10:56
    本文给大家介绍android实现返回键功能,返回键的操作方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
  • 主要介绍了Android中ActionBar和ToolBar添加返回箭头的实例代码,需要的朋友可以参考下
  • 设置Toolbar中和自己app风格一致的系统返回键

    在2014年Google I/O大会上发布的material design中提到了Toolbar这个用来取代Actionbar的概念,关于Toolbar的文章有很多,我在这里简单说一说关于Toolbar系统原生返回键,权作狗尾续貂吧。

    首先是我的布局文件:一个AppBarLayout里面套个Toolbar

    <android.support.design.widget.AppBarLayout
            android:id="@+id/about_appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/toolbar_theme">
            <android.support.v7.widget.Toolbar
                android:id="@+id/about_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="#ffffff">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:text="About"
                    android:textColor="#000000"
                    android:textSize="18sp"/>
            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.AppBarLayout>
    
    这里AppBarLayout中的属性theme就是用来控制我的返回键的颜色的。

    下面是我在style.xml文件中定义的属性。

    <style name="toolbar_theme" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
            <item name="colorControlNormal">@color/color_text_black</item>
    <span style="white-space:pre">	</span><item name="android:actionBarSize">46dp</item>
    </style>
    
    <style name="toolbar_blue_theme" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
            <item name="colorControlNormal">@color/color_text_blue</item>
            <item name="android:actionBarSize">46dp</item>
    </style>


    colorControlNormal就是我们指定的返回键的颜色,android:actionBarSize 是我们可以另指定的Toolbar高度


    当我的 AppBarLayout中使用toolbar_theme时,
    当换成toolbar_blue_theme时,

    当然,光写布局文件还不够,相关代码贴上:

    @Bind(R.id.about_toolbar)
        Toolbar mToolbar;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_about);
    
            ButterKnife.bind(this);
            setSupportActionBar(mToolbar);
            ActionBar actionBar =  getSupportActionBar();
            if(actionBar != null) {
                actionBar.setDisplayHomeAsUpEnabled(true);
                actionBar.setDisplayShowTitleEnabled(false);
            }
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    <span style="white-space:pre">	</span>//点击back键finish当前activity
            switch (item.getItemId()) {
                case android.R.id.home:
                    finish();
                    break;
            }
            return true;
        }

    当需要设定与自己App风格一致的back键时,只要改变style中的颜色就可以啦。当然,可能你的UI设计师会给你切好的图,这时候怎么办呢,怎么用设计师切好的图替换我们系统原生的返回键呢?方法有两个。

    1、在我们引入的Appbar的theme中添加一个Item,将设计师给我们的图放进去

    <item name="android:homeAsUpIndicator">@drawable/web_detail_back</item>
    2、在我们的Toolbar中添加属性

    app:navigationIcon="@drawable/web_detail_back"
    添加这个属性需要我们在根布局中添加(AS会有提示的)

    xmlns:app="http://schemas.android.com/apk/res-auto"

    最终的效果就是这样的了




    展开全文
  • android Toolbar的使用结合状态栏与返回键Toolbar的使用结合状态栏与返回键toolbar_default.xmlactivity_view_pager.xmlz注意上面的最外层linearlayout属性:android:fitsSystemWindows=”true”把它设置为true即可...

    android Toolbar的使用结合状态栏与返回键

    Toolbar的使用结合状态栏与返回键

    toolbar_default.xml

    activity_view_pager.xml

    z注意上面的最外层linearlayout属性:android:fitsSystemWindows=”true”

    把它设置为true即可保证toolbar在状态栏的下方,而不与状态栏重叠

    BeautyPhotoDetailsActivity.class

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    Window window = getWindow();

    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    setContentView(R.layout.activity_view_pager);

    mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);

    mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha));

    if (getIntent() != null) {

    imgs = (ArrayList) getIntent().getSerializableExtra("imgs");

    position = getIntent().getIntExtra("position", 0);

    }

    mToolbar.showOverflowMenu();

    mToolbar.setTitle(imgs.get(position).getDesc());//使用此方法一定要在 setSupportActionBar(mToolbar);方法之前

    // mToolbar.setSubtitle("1副标题");

    setSupportActionBar(mToolbar);

    getSupportActionBar().setDisplayShowHomeEnabled(false);

    mToolbar.setNavigationOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    finish();;

    }

    });

    }

    注意上面的代码:

    Window window = getWindow();

    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    这个就是用来设置是否悬浮在状态栏的,注意需要版本判断,这里我只是简单的设置了下

    加上上面的android:fitsSystemWindows=”true”即可设置好toobal

    接下来就是显示返回键了很简单: 设置返回图标: mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha)); 设置是否显示返回键: getSupportActionBar().setDisplayShowHomeEnabled(false); 设置返回键的点击事件: mToolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish();; } });

    展开全文
  • 今天遇到一个奇葩问题,先说现象:接口调用成功...后来仔细看了一下,发现我调用了onBackPress()这个方法,同时BaseActivity的ToolBar返回键监听也调用了这个方法。 解决方案:ToolBar返回键监听调用finish()。...

    今天遇到一个奇葩问题,先说现象:接口调用成功,但是在后台业务上报错时(比如:手机号已经被注册过时,接口调用成功,但是后台返回了错误信息:手机号已被注册),toolBar的返回键失效了。

    后来仔细看了一下,发现我调用了onBackPress()这个方法,同时BaseActivity的ToolBar的返回键监听也调用了这个方法。

    解决方案:ToolBar的返回键监听调用finish()。

    转载于:https://www.cnblogs.com/a446276468/p/5386242.html

    展开全文
  • 最近在项目中用到了自定义的ToolBar返回键设置以及返回键图标的更改,这里记录一下,以备日后使用,也是对 上次ToolBar的使用的补充。 首先我们知道使用ToolBar需要添加对应的依赖,这里不再赘述,可以看我上一篇...

    最近在项目中用到了自定义的ToolBar返回键设置以及返回键图标的更改,这里记录一下,以备日后使用,也是对 上次ToolBar的使用的补充。
    首先我们知道使用ToolBar需要添加对应的依赖,这里不再赘述,可以看我上一篇关于ToolBar的文章。
    在布局中加入ToolBar组件,我这里用一个TextView用来写标题

    <androidx.appcompat.widget.Toolbar
            android:id="@+id/tb_tianmao_welcome"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            android:theme="@style/ThemeOverlay.AppCompat.Light"
            app:navigationIcon="@mipmap/toolbar_back"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
            app:titleTextColor="@color/toolbar_black">
    
            <TextView
                android:id="@+id/tv_tianmao_welcome1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:singleLine="true"
                android:textColor="@color/black"
                android:textSize="@dimen/title_text_size" />
        </androidx.appcompat.widget.Toolbar>
    

    这里看到我使用了**Android:theme=“ThemeOverlay.AppCompat.Light(Dark)”**这样一个东西
    这个主题可以自动匹配使用的背景色(类似白底黑字)。就不需要再去自己设置了。
    navigationIcon这个参数设置的是返回键的图标,这里我们将图片资源放在mipmap这个文件夹中,确保他的分辨率以防止直接放置图标导致图标被拉伸变形。

    再来看java部分:

    setSupportActionBar(your toolbar's id);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    

    这里我们把自带的标题栏隐藏,添加toolbar上去,然后添加一个返回按钮,
    之后设置返回按钮的点击事件

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item){
    if(item.getItemId()==android.R.id.home){
    finish();
          }
         return super.onOptionsItemSelected(item);
    }
    

    设置的点击事件可以用intent跳转到其他界面达到回退效果也可以直接finish关掉。
    对返回按钮的设置我们也可以自定义使用我们自己的图片资源,
    在布局文件中找到ToolBar的设置片段,添加如下代码:

    app:navigationIcon = "your image"
    

    注意图片放的位置决定他的分辨率
    如果直接放在drawable文件夹中可能会导致图片拉伸变形,或者模糊
    而放在mipmap的文件夹中则可以达到小图标或者中等图标的效果

    展开全文
  • android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <View andro.
  • 以下两个方法可实现你想要的效果: http://blog.csdn.net/zouchengxufei/article/details/51199922 http://blog.csdn.net/zouchengxufei/article/details/51199922
  • 最近设计安卓里面有个标题栏,里面有个后退,可以完成后退之类的功能。 好,刚好可以用Toolbar去实现 上代码:activity_main.xml &lt;?xml version="1.0" encoding="utf-8"?&gt; &...
  • Androidtoolbar设置返回事件

    千次阅读 2017-06-14 23:29:08
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAs
  • Toolbar去除标题与返回键间的间距

    千次阅读 2018-01-24 00:13:41
    标题和左侧的返回键间距过大,之前在做CloudReader的时候就遇到了,一直没有解决,由于自身强迫症,心里始终和这个过不去,就研究了很久终于解决了。 之前在网上找了各种解决方法,比如给ToolBar设置 app:...
  • 好,刚好可以用Toolbar去实现上代码:activity_main.xmlxmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_par...
  • 布局文件如下,主要是自定义主题theme:android:layout_width="match_parent"android:layout_height="wrap_content"android:theme="@style/AppTheme.AppBarOverlay">android:layout_width="match_parent"android:...
  • 1.在xml布局中声明toolbar: <android.support.design.widget.AppBarLayout android:layout_alignParentTop="true" android:layout_width="match_parent" android:layout_height="wrap_c...
  • 使用Toolbar一定要保证你当前操作的Activity继承自ActionBarActivity...Toolbar,并且设置home为可用状态 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupport
  • Android ToolBar修改返回按钮图标

    万次阅读 2016-07-07 10:33:51
    使用Toolbar时,有时因为不同的手机设备,不能使用系统默认的主题样式或者图标,必须指定特定的资源,防止APP在不同设备上的效果不一样! 我在使用Toolbar时,把这个布局作为一...<android.support.v7.widget.Toolbar
  • Toolbar添加返回按钮

    2021-06-04 18:37:36
    super.onCreate(savedInstanceState);...Toolbar toolBar= (Toolbar) findViewById(R.id.toolbar);//toolBar.setLogo(R.mipmap.ic_launcher);//设置图标toolBar.setTitle("关于软件");//设置主标题se...
  • 添加ActionBar ...发现点击返回没有生效,最后发现是没有触onOptionsItemSelected方法 @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items swi
  • Drawable drawable = getResources().getDrawable(R.mipmap.ic_back); drawable.setTint(Color.WHITE);...android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/andr.
  • // 代码设置toolbar返回键颜色为白色 val upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_material) upArrow?.setColorFilter(ContextCompat.getColor(this, android.R.colo...
  • android:layout_toLeftOf="@+id/my_toolbar_title" android:layout_width="25dp" android:layout_marginRight="10dp" android:layout_height="25dp" /> android:id="@+id/my_toolbar_title" android:text="tltie" ...
  • 最近开发过程中遇到一个问题,Activity使用AppActivity风格的,带有Toolbar返回的导航栏,具体就是点击Toolbar自带的返回按钮要求返回上一个AppActivity。解决办法如下:
  • 使用Toolbar已经有一段时间了,今天遇到一个奇怪的问题,在某些机型上onOptionsItemSelected不会被调用。@Override protected void onCreate(Bundle savedInstanceState) { Toolbar toolbar = (Toolbar) ...
  • 修改ToolBar返回按钮颜色有两种方式: 1:通过theme修改 这种方式修改可以简单的在xml文件中使用app:theme = " "属性 例如:这样就可以把返回按钮改成黑色 <android.support.v7.widget.Toolbar android:id=...
  • 1、问题 1、toolbar里面显示返回按钮图片太大 2、返回按钮图片没有水平居中 2、解决办法 1、把drawable里面的图片移动到mipmap-xhdpi里面去,还...2、在toolbar里面minHeight设置为toolbar的高度,(android:la
  • @Override public void onBackPressed() { Intent i = new Intent(Intent.ACTION_MAIN); // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //如果是服务里调用,必须加入new task标识 i.ad

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,201
精华内容 880
关键字:

androidtoolbar返回键