नवीनतम AppCompat-v21
लाइब्रेरी का उपयोग करके, मैंने बनाने और पॉप्युलेट करने के लिए ActionBarActivity
का उपयोग किया। हालांकि, ActionBar
अभिविन्यास या स्क्रीन आकार बदलते समय ऊंचाई और टेक्स्ट आकार को बदलना प्रतीत नहीं होता है। अन्य गतिविधियों पर भी इसका परीक्षण करना, यह व्यवहार केवल PreferenceActivity
में हो रहा है (इस प्रश्न के विपरीत यहां पूछा गया: ActionBar capacity/overflow not changing on orientation change)।वरीयता फ्रेगमेंट में एक्शनबार, ऊंचाई और फ़ॉन्ट आकार का पुनर्मूल्यांकन नहीं करता
सबसे पहले, अभिविन्यास परिवर्तनों को संभालने के लिए, मैंने मैनिफेस्ट में android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
जोड़ा। मुझे संदेह है कि यह इस समस्या का मुख्य कारण है, लेकिन जैसा कि मैंने पहले उल्लेख किया था, यह अन्य Activity
एस पर काम करता है।
पोर्ट्रेट मोड में शुरू PreferenceActivity
:
यहाँ कुछ स्क्रीनशॉट कि इस मुद्दे को समझाने हैं
घुमाया गया पोर्ट्रेट से लैंडस्केप के लिए:
में PreferenceActivity
शुरू लैंडस्केप मोड:
पोट्रेट पर घुमाया लैंडस्केप से:
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragment()).commit();
}
}
:
अतिरिक्त सूचना
यहाँ PreferenceActivity
वर्ग है
क्या यह व्यवहार एक बग है? यदि नहीं, तो क्या कोई कामकाज या फिक्स है?
संपादित मैं
मैं नए ToolBar
विजेट, लेकिन कोई भाग्य उपयोग करने की कोशिश।
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
public class PrefsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preference);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_pref);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(R.id.pref_frame, new PrefsFragment()).commit();
}
}
वही समस्या यहां। लेकिन मेरे मामले में फ़ॉन्ट आकार बस परिदृश्य में बहुत छोटा है, इससे कोई फर्क नहीं पड़ता कि यह कैसे शुरू किया गया है ... – Zordid
क्या आपने शैलियों.एक्सएमएल में 'टेक्स्ट साइज' को परिभाषित करने का प्रयास किया है? कभी-कभी, जब आप निर्धारित मूल्य को परिभाषित नहीं करते हैं तो एंड्रॉइड को एक बग मिल जाएगी। आप इसे पढ़ सकते हैं: http://stackoverflow.com/q/16189877/3922207 और http://stackoverflow.com/a/12899367/3922207 –