如何在反应原生的ToolbarAndroid中设置navIcon的高度和宽度?

时间:2016-05-30 04:51:40

标签: android react-native android-toolbar

我正在使用navIcon ToolbarAndroid react-native来显示我的<ToolbarAndroid actions={[]} navIcon={require('./arrow-left-c.png')} onIconClicked={navigator.pop} style={{height:180,backgroundColor:'#a9a9a9'}} titleColor="white" title={route.name} /> 应用中的图标,如下所示:

arrow-left-c

但问题是图标navIcon占据了屏幕的整个宽度。我只想在左侧显示它,因为出现正常图标。如何设置此swiprgesturerecognizer的宽度和高度?

2 个答案:

答案 0 :(得分:0)

目前,您无法在React本机ToolBarAndroid中设置navIcon的大小。

工具栏图标大小应为24dp,如上所述here

答案 1 :(得分:-3)

如果您对工具栏使用单独布局,然后在工具栏中对其进行充气,那将是一个更好的选择。在此布局中,您将能够为其提供任何样式大小的颜色和图标。

获取新的xml文件app_bar布局并将以下代码复制到其中。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorWhite">

        <ImageView
            android:id="@+id/btnBack"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:padding="10dp"
            android:text="@string/back_font"
            android:textColor="@color/colorBtn"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/lblTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="8dp"
            android:layout_toRightOf="@+id/btnBack"
            android:text="Create Account"
            android:textColor="@color/colorBtn"
            android:textSize="18sp" />
</RelativeLayout>

然后在包含工具栏的活动中复制此代码。

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

final View barview =LayoutInflater.from(this).inflate(R.layout.app_bar_register, toolbar, false);
 toolbar.addView(barview);

 if (toolbar != null) {
                setSupportActionBar(toolbar);
            }
ImageView btnBack= (ImageView) barview.findViewById(R.id.btnBack);
btnBack.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    onBackPressed();
                }
            });