材料设计:扩展工具栏+后退按钮

时间:2015-07-13 07:27:51

标签: android material-design

我想要一个普通的后退按钮以及一个自定义工具栏。这是可能的还是我必须自己设置后退按钮(也是自定义?)?.

style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="colorControlNormal">#4F8092</item>
    <item name="colorControlActivated">#4F8092</item>
    <item name="colorControlHighlight">#4F8092</item>
    <item name="colorPrimary">#fff</item>
    <item name="colorPrimaryDark">#4F8092</item>
    <item name="colorAccent">#4F8092</item>

    <item name="android:windowActionModeOverlay">true</item>
</style>

MyActivity.java:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_actionlist);

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

onCreate我也在setSupportActionBar之后添加了这些:

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

没有成功。所有这一切都是我的自定义视图向右偏移,就像有一个按钮将其余内容推向右侧。但按钮不可见。

活动xml:

<LinearLayout
    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:orientation="vertical">
    <android.support.v7.widget.Toolbar
        android:id="@+id/activity_action_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/rym_blue"
        app:contentInsetEnd="0dp"
        app:contentInsetStart="0dp"
        android:elevation="4dp">
...

2 个答案:

答案 0 :(得分:3)

在我的代码中,我这样做了

在xml中我添加了navigationIcon

// Open File to read
$file = fopen("gallery.csv","r");

    while(! feof($file))
    {
      // Store each line in $data
      $data[] = fgetcsv($file);
    }

    // Get Current Page
    $current_page = ($_GET['page']) ? $_GET['page'] : 1;
    // Records Per Page
    $per_page = 10;


    $start = ($current_page - 1) * ($per_page + 1);
    $offset = $per_page + 1;
    $total_pages = count($data) / $per_page;

    //Slice array according to our page
    $data = array_slice($data, $start, $per_page);

    ?>

    <ul id="itemContainer">
        <?php for($i = 0; $i < count($data); $i++) { ?>
            <li>
                <a href="<?php print "photos/".$data[$i][0].".jpg"; ?>" data-lightbox="imggallery" data-title="<?php print $data[$i][0]." ".$data[$i][1];?>">
                    <img src="<?php print "photos/".$data[$i][0].".jpg"; ?>" alt="image" style="width:140px; height:140px; border: 1px solid #00C;">
                </a> 
            </li>
        <?php } ?>      
    </ul>
    <?php
    // Show Total Pages
    for($i = 0; $i < $total_pages; $i++){
        echo '<a href="?page='.($i+1).'">'.($i+1).'</a>';
    }

和java代码。

<android.support.v7.widget.Toolbar
    android:id="@+id/product_toolBar_title"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:fitsSystemWindows="true"
    app:layout_collapseMode="pin"
    app:navigationIcon="@drawable/ic_arrow_back_white_24dp"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
              app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

答案 1 :(得分:0)

你可以通过两种方式实现它:

1-只需在onCreate()中设置您的图标:

toolbar.setNavigationIcon(R.drawable.Your icon here);

2-将您的图标定义为工具栏内的xml布局:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
                               android:id="@+id/toolbar"
                               android:minHeight="?attr/actionBarSize"
                               android:layout_width="fill_parent"
                               android:layout_height="wrap_content"
                               android:textColorPrimary="@color/white">
<!--Custom Views for ToolBar-->
<ImageView
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_gravity="left"
        android:layout_marginLeft="@dimen/margin_19"
        android:src="@drawable/Your icon here"/>