Android 앱의 환경 설정 화면의 모양을 어두운 텍스트 색상으로 변경하고 싶습니다. 어떻게해야합니까? (이미 배경을 흰색으로 변경했습니다)PreferenceActivity 텍스트 색상 변경
6
A
답변
14
PreferenceActivity
을 확장하는 활동을 사용한다고 가정합니다. setTheme
메서드를 사용하여 기본 설정 화면에서 사용자 지정 테마를 설정할 수 있습니다. res/values/themes.xml
에 하나만 정의하십시오.
그것은 다음과 같을 것이다 :
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Theme.DarkText">
<item name="android:textColor">#000000</item>
</style>
</resources>
는 이후 액티비티에서 설정 :
setTheme(R.style.Theme_DarkText);
0
나는 Udinic의 아이디어를했다,하지만 난 그것을 조금 개선되었다. 뷰어를 팽창시킬 때뿐만 아니라 언제든지 (이 경우) PreferenceCategory의 색상을 설정할 수 있습니다.
어떻게 만드시겠습니까?
첫째, 이곳과 같은 사용자 정의 클래스를 만들 :이 완료
import android.content.Context;
import android.preference.PreferenceCategory;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MyPreferenceCategory extends PreferenceCategory {
private TextView categoryTitle;
public PincardPreferenceCategory(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public PincardPreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public PincardPreferenceCategory(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
protected View onCreateView(ViewGroup parent) {
categoryTitle = (TextView)super.onCreateView(parent);
return categoryTitle;
}
public void setBackgroundColor(int color) {
categoryTitle.setBackgroundColor(color);
}
public void setTextColor(int color) {
categoryTitle.setTextColor(color);
}
}
후에는 XML에서 설정을 정의 할 때 사용합니다.
당신이 당신 자바 PreferenceActivity를이 루프를 사용해야 후 : 여기
for (int i = 0; i < getListView().getCount(); i++) {
Object view = getListView().getItemAtPosition(i);
if (view instanceof PincardPreferenceCategory) {
((PincardPreferenceCategory)view).setBackgroundColor(Color.BLUE);
((PincardPreferenceCategory)view).setTextColor(Color.RED);
}
}
는 생각이다. 모든 설정에 대해 언제든지 설정할 수 있습니다. 그렇지 않으면 getListView(). getCount()는 0을 반환 할 것이므로이 코드를 사용하기 전에 레이아웃이 완전히로드되어 있어야합니다. 예를 들어 onCreate에서 사용하면 작동하지 않습니다. 시작시이를 수행하려면 onWindowFocusChanged 메소드에서 수행 할 것을 권장합니다.
+0
ListView가보기 재활용을 구현하고 * 모든 *보기를 만들지 않기 때문에 화면에 맞는 항목이 더있을 때 작동하지 않습니다. –
관련 문제
- 1. ListView의 텍스트 색상 변경
- 2. 텍스트 색상 변경 onclick
- 3. 변경 텍스트 선택 색상
- 4. 변경 텍스트 색상 JQuery와
- 5. Iframe의 텍스트 색상 변경
- 6. webView에서 텍스트 색상 변경
- 7. NSTextView에서 텍스트 선택 색상 변경
- 8. jquery 클릭시 텍스트 색상 변경
- 9. libreoffice 대규모 텍스트 색상 변경
- 10. DTPicker 컨트롤의 텍스트 색상 변경
- 11. 클릭하면 안드로이드 변경 텍스트 색상
- 12. jquery를 사용하여 텍스트 색상 변경
- 13. 애니메이션으로 UITextView 텍스트 색상 변경
- 14. 사용자 정의 PreferenceActivity 내 다른 PreferenceActivity 시작
- 15. Facebook Comment Box Plugin의 텍스트 색상 변경
- 16. TextView에서 한 단어의 텍스트 색상 변경
- 17. HTML5 Canvas 텍스트 스팬 색상 변경
- 18. LogCat에서 예외에 대한 텍스트 색상 변경
- 19. Word 문서의 텍스트 글꼴 색상 변경
- 20. 프로그래밍 방식으로 PDF의 텍스트 글꼴 색상 변경
- 21. 헤더 텍스트 색상 변경 CSS를 사용하여 Gridview에서
- 22. doc 파일의 바닥 글 텍스트 색상 변경
- 23. WinForms RichTextBox 내의 텍스트 색상 변경
- 24. TextArea에서 텍스트 일부의 글꼴 색상 변경
- 25. Android에서 설정 항목 설명 텍스트 색상 변경?
- 26. 텍스트 색상 변경 Spinner Item showing
- 27. 색상 변경
- 28. 테마로 안드로이드 색상 변경
- 29. 다른 페이지의 색상 변경
- 30. 특정 문자열의 색상 변경
레이아웃을 만든 후 * 텍스트 색상을 변경하려면 어떻게해야합니까? –
@MarioB이 코드는 EditTextPreference를 제외한 기본 설정의 제목 텍스트 색상을 변경할 수 있습니다. EditTextPreference의 제목 (대화 제목이 아님)의 속성 이름은 무엇입니까? – shantanu