728x90
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);

    for(int i = 0; i < menu.size(); i++){
        Drawable drawable = menu.getItem(i).getIcon();
        if(drawable != null) {
            drawable.mutate();
            drawable.setColorFilter(getResources().getColor(R.color.textColorPrimary), PorterDuff.Mode.SRC_ATOP);
        }
    }

    return true;
}

 

 

stackoverflow.com/questions/31953503/how-to-set-icon-color-of-menuitem

728x90
728x90

 

 

main.xml 파일에 다음을 추가한다.

<xmlns:app="http://schemas.android.com/apk/res-auto">

    <item

        android:id="@+id/action_settings"

        android:orderInCategory="100"

        android:title="@string/action_settings"

        android:checkable="true"

        app:showAsAction="never" />

</menu>

 

Java 파일에 다음을 추가한다.

Menu menu;


@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.main2, menu);
    this.menu = menu;
    menu.getItem(0).setChecked(true);
    return true;
}



@Override
public boolean onOptionsItemSelected(MenuItem item){
	int id = item.getItemId();
	if (id == R.id.action_settings){
		item.setChecked(false);
		return true;
	}

	return super.onOptionsItemSelected(item);

}

 

Reference

https://article2.tistory.com/634

728x90
728x90

Kotlin에서는 Java의 증감연산자 외에 증감할 수 있는 증감연산함수를 제공한다

 

증감연산자 증감 연산 함수
++ .inc()
-- .dec()

 

728x90
728x90

[Android Error] Location specified by ndk.dir did not contain a valid NDK and and couldn't be used

 

 

원인: 안드로이드 프로젝트 내부의 NDK 경로 변경으로 인한 문제
  

찾아본 해결방법
1)  파일 위치: local.properties (SDK Location)
 수정할 부분: ndk.dir = 설정된 NDK 경로를 바뀐 NDK 경로로 변경하여준다.

==>내 경우는 이렇게 했는데도 경로 갱신이 제대로 안되던데
2) SDK Manager에서 ndk 버전 마저 다 다운받고, Proejct Structure에서 해당버전으로 ndk 폴더경로 선택후 다시 build sync project하고 됨

 

 

 

Reference

hoyi327.tistory.com/45

 

728x90

+ Recent posts