在工具栏上显示应用程序徽标

时间:2018-08-24 15:53:19

标签: java android

我想将徽标放入一个动作栏,因此我在包含图像视图的工具栏内放置了一个relativelayout,但运行时没有任何结果。 (它不是图标,所以我不能使用seticon()方法)

<RelativeLayout
    android:layout_width="182dp"
    android:layout_height="53dp"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    app:layout_constraintBottom_toBottomOf="@+id/toolbar2"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.655"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/toolbar2"
    app:layout_constraintVertical_bias="0.307">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="162dp"
        android:layout_height="45dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@+id/fragment"
        app:layout_constraintHorizontal_bias="0.443"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.016" />
</RelativeLayout>

另一件事是我已经在Java文件中设置了资源 并且每当我使用工具栏方法(seticon,setlogo ...)时,我都会报错

  

java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息

2 个答案:

答案 0 :(得分:0)

好,你有选择

1-将工具栏用于其材料设计

enter image description here

那么您需要使用此代码

 toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 getSupportActionBar().setDisplayShowHomeEnabled(true);
 getSupportActionBar().setHomeButtonEnabled(true);
 toolbar.setLogo(icon);

2-与其他任何视图一样,将工具栏作为视图处理如果要更改位置 图片和文字

答案 1 :(得分:0)

您可以创建一个自定义工具栏并将其添加到您的活动中

  getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
  getSupportActionBar().setCustomView(R.layout.custom_toolbar);
  Imageview mView = (ImageView) findViewById(R.id.title)
  mView.setImageResource(enter image here);