Tôi đang sử dụng PreferenceActivity, làm cách nào tôi có thể đặt thanh tiêu đề tùy chỉnh? Không chỉ văn bản nhưng màu nền, kích thước - toàn bộ bố cục.Đặt thanh tiêu đề tùy chỉnh trong PreferenceAcivity
Trả lời
PreferenceActivity extends ListActivity
, và khi bạn thổi phồng các ưu đãi từ xml với addPreferencesFromResource()
, nó đặt những thứ vào tiêu chuẩn ListView
rằng ListActivity
sử dụng.
Vì vậy, về cơ bản, bạn có thể sử dụng setContentView()
để chỉ định bố cục, nhưng bạn cần có một ListView
trong đó với id "@+android:id/list"
.
Vì vậy, sử dụng mã ví dụ kleini của:
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.login_settings);
setContentView(R.layout.login_settings_layout);
}
Bạn sẽ cần một ListView trong login_settings_layout.xml
trông giống như sau:
<ListView
android:id="@+android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
super.onCreate(savedInstanceState);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);
}
}
tôi đã cố gắng đó, nhưng nó đã không làm việc. Nó không thay đổi gì cả. – fhucho
Tính năng này không hoạt động đối với PreferenceActivity nhưng hoạt động tốt cho các Hoạt động khác ... –
Awesome, làm việc tốt cho "NO_TITLE":
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.login_settings);
setContentView(R.layout.login_settings_layout);
}
Bạn có thể đăng login_settings_layout.xml không? – fhucho
Hoặc như thế này:
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
super.onCreate(savedInstanceState);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.customtitlebar);
addPreferencesFromResource(R.xml.preferences);
}
Với customtitlebar .xml như thế này:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customTitleBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/CustomWindowTitle">
</TextView>
Phương pháp của Ben hoạt động tốt cho tôi !!. Đây là mã
public class PreferenceCustomTitleActivity extends PreferenceActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference);
/** Customize your background, textsize, cachetint, dividers
for your list view in the xml **/
setContentView(R.layout.layout_with_simple_listview_only);
ListView list = (ListView) findViewById(android.R.id.list);
View preferenceHeader = getLayoutInflater().inflate(
R.layout.preference_header, null);
list.addHeaderView(preferenceHeader);
}
}
cách thay đổi văn bản? –
Đây là điều duy nhất mà làm việc cho tôi. Phần còn lại của các công cụ trên không tìm nạp kết quả mong muốn trên máy tính bảng 4,3 Nexus của tôi.
Tôi thực sự không thể tạo lại một thanh tác vụ thích hợp như tiện ích, nhưng có thể đặt tiêu đề 'Cài đặt' lớn ở đầu PreferenceActivity, với các bước dưới đây.
Tôi nhận được gợi ý từ một câu trả lời xếp chồng khác và chỉ làm cho nó phức tạp hơn.
Trong lớp PreferenceActivity (loại bỏ các thanh tiêu đề hiện có)
public class Settings extends PreferenceActivity· { ... @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); // This goes first super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings);
Trong res/xml/settings.xml, tôi muốn gây sự chú ý đến PreferenceCategory đầu tiên
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:layout="@layout/settings_titlebar" /> <PreferenceCategory android:title="Notifications"> <Preference .....
Trong res/layout/settings_titlebar.xml
Navals-MacBook-Pro: ver_ui_0.2 Naval $ vi res/layout/settings_titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/header_background"
android:enabled="false">
<TextView android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:padding="4dip"
android:text="Settings"
android:textSize="32sp"
/>
</RelativeLayout>
- 1. Thanh tiêu đề tùy chỉnh với tiến trình trong Android
- 2. Tiêu đề tùy chỉnh tiêu đề FullCalendar
- 3. Thanh tiêu đề tùy chỉnh mà không cần đệm (Android)
- 4. Cách đặt tiêu đề "Máy chủ" tùy chỉnh trong HttpWebRequest?
- 5. Có thể đặt tiêu đề HTTP tùy chỉnh trong WebView
- 6. thoại tùy chỉnh Android hiển thị tiêu đề android thanh
- 7. Cách tùy chỉnh thanh tiêu đề và cửa sổ
- 8. đặt nút thanh tùy chỉnh trở lại phổ quát mà không có tiêu đề
- 9. Đặt tiêu đề http tùy chỉnh vào xương sống
- 10. Thêm tiêu đề tùy chỉnh trong HttpWebRequest
- 11. Chủ đề Holo có hoạt động với thanh tiêu đề tùy chỉnh không?
- 12. AngularJS $ tiêu đề tùy chỉnh tài nguyên $
- 13. Tiêu đề tùy chỉnh trên Amazon S3
- 14. iPhone: Đặt Tiêu đề Thanh Điều hướng
- 15. làm thế nào để đặt tiêu đề tùy chỉnh TextView Value tự động trong Android?
- 16. cách ghi đè tiêu đề mặc định bằng tiêu đề tùy chỉnh trong android
- 17. Tiêu đề HTTP tùy chỉnh ở Django
- 18. Các tiêu đề tùy chỉnh PHP cURL
- 19. Kết hợp tiêu đề tùy chỉnh với FEATURE_PROGRESS
- 20. Cách tạo tiêu đề email tùy chỉnh
- 21. Tiêu đề tùy chỉnh với hình ảnh
- 22. Tiêu đề tùy chỉnh với pycurl
- 23. Đặt màu nền cho thanh tiêu đề Dialog?
- 24. ActionBar tùy chỉnh tiêu đề như ImaveView thay vì TextView
- 25. Tiêu đề phần tùy chỉnh UITableView, vấn đề trùng lặp
- 26. Bao gồm tiêu đề từ khung tùy chỉnh trong XCode
- 27. tiêu đề tùy chỉnh của trung tâm trong UINavigationBar?
- 28. Tiêu đề yêu cầu HTTP tùy chỉnh trong HTML
- 29. Tiêu đề thư tùy chỉnh bằng MIME trong Java
- 30. các ô chồng chéo tiêu đề tùy chỉnh trong nhóm
'@ + android: id/danh sách' phải là' @android: id/list' – mwieczorek