AppCompat-v7을 사용하여 작업 표시 줄 / 도구 모음에 아이콘 표시 21
나는 이것을 시도했지만 여전히 이전과 같은 아이콘이 보이지 않습니다.
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
사용자 정의 도구 모음을 사용할 때 작동하는 것 같습니다.하지만 모든 레이아웃을 터치 해야하는 더 좋은 방법이 있습니까?
getSupportActionBar().setDisplayShowHomeEnabled(true);
와 함께
getSupportActionBar().setIcon(R.drawable.ic_launcher);
최신 Android UI에서 개발자는 애플리케이션 아이콘보다 툴바의 시각적으로 다른 색상 구성표에 더 의존해야합니다. API 21 디바이스 이상에서는 애플리케이션 아이콘과 제목을 표준 레이아웃으로 사용하지 않는 것이 좋습니다.
동의하지 않으면 다음을 시도해보십시오.
XML로 도구 모음을 작성하려면 다음을 수행하십시오.
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
당신의 활동에서 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}
사용 setLogo () 아이콘을 설정하는 방법을. 코드 소스.
이것은 나를 위해 일했다 :
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_logo);
getSupportActionBar().setDisplayShowTitleEnabled(false); //optional
만큼 잘:
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_logo); //also displays wide logo
getSupportActionBar().setDisplayShowTitleEnabled(false); //optional
가장 간단한 일; 그냥 추가하십시오 :
app:navigationIcon="@drawable/ic_action_navigation_menu">
받는 사람 <android.support.v7.widget.Toolbar
태그
@drawable/ic_action_navigation_menu
아이콘의 이름은 어디에 있습니까
여러 옵션을 설정하는 더 좋은 방법 :
setIcon/setLogo
당신이 설정 한 경우 방법은 것입니다에만 작동 DisplayOptions는 이 시도 -
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
actionBar.setIcon(R.drawable.ic_launcher);
LOGO 표시 옵션을 설정할 수도 있습니다 (상수 추가 ActionBar.DISPLAY_USE_LOGO
). 추가 정보 -displayOptions
다음을 사용하십시오.
ActionBar ab = getSupportActionBar();
ab.setHomeButtonEnabled(true);
ab.setDisplayUseLogoEnabled(true);
ab.setLogo(R.drawable.ic_launcher);
홈 또는 뒤로 아이콘 (로고 또는 정적 아이콘 아님)을 설정하여 사용할 수있는 경우
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator( getResources().getDrawable(R.drawable.home) );
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
또는 XML 레이아웃 호출을tool_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:elevation="4dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:src="@drawable/ic_action_search"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
이제 주요 활동에서이 줄을 추가하십시오.
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar" />
setSupportActionBar를 사용하여 도구 모음을 조치 표시 줄로 설정하지 않으려면 다음과 같이 탐색 아이콘 옆에 로고를 추가 할 수 있습니다 (예 : 뒤로 단추가있는 경우).
toolbar.setLogo();
또는 xml로
<android.support.v7.widget.Toolbar
....
android:logo="@drawable/logo"
app:logo="@drawable/logo"/>
툴바에 제목이 설정되어 있어도 제목은 계속 표시됩니다.
예 : 아래 이미지의 녹색 체크는 로고입니다
작업 표시 줄의 경우 :
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
툴바의 경우 :
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_back);
이 시도:
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
...
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setHomeAsUpIndicator(R.drawable.ic_launcher);
so your icon will be used for Home / back
or
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
...
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayShowHomeEnabled(true);
actionbar.setIcon(R.drawable.ic_launcher);
정적 아이콘
toolbar.setLogo(resize(logo, (int) Float.parseFloat(mContext.getResources().getDimension(R.dimen._120sdp) + ""), (int) Float.parseFloat(mContext.getResources().getDimension(R.dimen._35sdp) + "")));
public Drawable resize(Drawable image, int width, int height)
{
Bitmap b = ((BitmapDrawable) image).getBitmap();
Bitmap bitmapResized = Bitmap.createScaledBitmap(b, width, height, false);
return new BitmapDrawable(getResources(), bitmapResized);
}
Xamarin.Android에서는 다음을 사용할 수 있습니다.
SupportActionBar.SetHomeButtonEnabled(true);
SupportActionBar.SetDisplayShowHomeEnabled(true);
SupportActionBar.SetDisplayUseLogoEnabled(true);
SupportActionBar.SetIcon(Resource.Drawable.ic_launcher);
SupportActionBar.SetDisplayShowTitleEnabled(false);
using Android.Support.V7.App.AppCompatActivity is required.
Try this. For me it worked
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
In Kotlin I did the following to just show the icon:
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setIcon(R.drawable.ic_icon_small)
참고URL : https://stackoverflow.com/questions/26440279/show-icon-in-actionbar-toolbar-with-appcompat-v7-21
'development' 카테고리의 다른 글
SDK iOS 8.0의 제품 유형 단위 테스트 번들에는 코드 서명이 필요합니다. (0) | 2020.07.06 |
---|---|
파이썬에서 16 진수 문자열을 바이트 배열로 (0) | 2020.07.06 |
git / git-shell 관련 문제를 어떻게 디버깅 할 수 있습니까? (0) | 2020.07.06 |
"aapt"IOException error = 2, 그런 파일이나 디렉토리가 없습니다 "jenkins에서 gradle을 빌드 할 수없는 이유는 무엇입니까? (0) | 2020.07.06 |
JsonNode를 POJO로 변환 (0) | 2020.07.05 |