1

長按添加到AlertDialog的EditText通常應顯示上下文ActionBar,但使用AppCompat時上下文ActionBar會出現在狀態欄後面。上下文ActionBar也不可點擊。AlertDialog:上下文ActionBar出現在狀態欄後面

從Activity直接顯示AlertDialog時可以看到相同的行爲。

的Android版本進行了測試: 4.4,5.0,5.1
程序兼容性版本: 22.1.1和22.1.0

源代碼(搖籃模塊):Google Drive

我嘗試添加<item name="android:windowFullscreen">false</item>但這並不能解決問題。

我能做些什麼使上下文ActionBar顯示正常?

ActionMode shown behind status-bar

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     findViewById(R.id.button).setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View view) { 
     EditText customView = new EditText(this); 
     customView.setText("Select me"); 

     AlertDialog.Builder test = new AlertDialog.Builder(this); 
     test.setView(customView); 
     test.setPositiveButton("Close", null); 
     test.setTitle("ActionMode test"); 
     test.show(); 
    } 
} 

styles.xml

<resources> 

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="alertDialogTheme">@style/Theme.Test.AlertDialog</item> 
    </style> 

    <style name="Theme.Test.AlertDialog" parent="@style/Theme.AppCompat.Light.Dialog.Alert"> 
     <!-- Removing android:windowFullscreen yields same result --> 
     <item name="android:windowFullscreen">false</item> 
    </style> 

</resources> 
+0

如果不編輯'alertDialogTheme',該怎麼辦? –

+0

同樣的結果;)我最初甚至沒有觸及主題。 –

+0

你的佈局是什麼?這是一個新項目嗎? –

回答

0

當他說他會,羅爾夫創建AOSP Issue 170658。該問題已作爲170105的副本關閉。問題170105表明問題已在內部解決,並將出現在未來版本的AppCompat庫中。沒有跡象表明該版本何時可能發生。

相關問題