문제

NavigationDrawer와 ActionBar를 사용하여 CustomView를 생성 할 수 있습니까?다음과 같이 : 여기에 이미지 설명

아이디어, 제안 및 해결책, 제발

도움이 되었습니까?

해결책

다음 코드는 actionBar의 색상 및 텍스트 인 하위 텍스트 색상을 변경하는 방법을 보여줍니다.이 파일을 값 / 폴더에 넣고 theme.xml로 이름을 지정하십시오.

<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/actionBarBG</item>
    <item name="android:backgroundSplit">@color/actionBarBG</item>
    <item name="android:subtitleTextStyle">@style/Theme.TitleTextStyle</item>
    <!-- Support library compatibility -->
    <item name="background">@color/actionBarBG</item>
</style>

<!-- STYLE TO CHAGE THE TITLE COLOR OF ACTION BAR -->
<style name="Theme.TitleTextStyle" parent="@android:style/Widget.TextView">
    <item name="android:textColor">#BDD6E0</item>
</style>
.

MANIFEST는 활동 태그에서 아래의 활동에 적용됩니다.

android:theme="@style/CustomActionBarTheme" 
.

ActionItems의 actionItems에서 다음 코드를 사용할 수 있습니다.action_items.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/action_home"
        android:icon="@drawable/action_home"
        android:showAsAction="ifRoom"
        android:title="@string/home"
        yourapp:showAsAction="ifRoom"/>

    <item
        android:id="@+id/action_logout"
        android:icon="@drawable/action_logout"
        android:showAsAction="ifRoom"
        yourapp:showAsAction="ifRoom"
        android:title="@string/logout"/>

</menu>
.

이 XML 파일을 / 메뉴 폴더에 넣습니다.

그런 다음 활동 :

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.action_items, menu);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Take appropriate action for each action item click
        switch (item.getItemId()) {
        case R.id.action_home:
            Intent intent = new Intent(this, CustomerMenuActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            return true;
        case R.id.action_logout:
            // location found
            Intent intent2 = new Intent(this, LoginActivity.class);
            intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent2);
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top