在活动对话框

时间:2017-10-17 08:31:36

标签: android dialog optionmenu

我需要在我的活动对话框中添加Option Menu或图标。 Option Menu没有表现出来。我使用自定义主题来制作自定义活动对话框。我也使用了自定义标题。这里我的代码片段清楚地说明了:

的manifest.xml

<activity
        android:name=".ModalActivity"
        android:theme="@style/Theme.Custom.AlertDialog" />

style.xml

<style name="Theme.Custom.AlertDialog" parent="Theme.AppCompat">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowNoTitle">false</item>
</style>

ModalActivity.java

public class ModalActivity extends AppCompatActivity implements View.OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(getWindow().FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.modal_activity);

    DisplayMetrics metrics = getResources().getDisplayMetrics();
    int screenWidth = (int) (metrics.widthPixels * 0.90);

    getWindow().setLayout(screenWidth, ViewGroup.LayoutParams.WRAP_CONTENT);
    getWindow().setBackgroundDrawableResource(R.color.colorRedTheme);
    this.setFinishOnTouchOutside(false);
    getWindow().setFeatureInt(getWindow().FEATURE_CUSTOM_TITLE, R.layout.title_dialog_editor);

    final TextView customTitle = (TextView) findViewById(R.id.title_text_dialog_editor);
    if ( customTitle != null ) {
        customTitle.setText("Modal Activity");
        customTitle.setTextSize(20f);
        customTitle.setPadding(5, 5, 5, 0);
        customTitle.setBackgroundColor(Color.parseColor("#BA0B0B"));
        customTitle.setTextColor(Color.WHITE);
    }
    setTitle("");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.refresh:
            return true;
    }
    return super.onOptionsItemSelected(item);
}

问题是菜单未显示。我在这里搜索我的案例,但没有解决方案。任何建议和帮助都会感谢。

编辑: 在图片下方,我需要在标题中添加一些Option Menu,但Option Menu未显示

enter image description here

1 个答案:

答案 0 :(得分:0)

我建议您使用join来达到您的目的。这可能会对你有所帮助

Layout.xml

中添加以下行
Toolbar

这是 styles.xml

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:background="?attr/colorPrimary"
    android:elevation="8dp"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

最后在您的 ModalActivity.java 中添加<resources> <!-- Base application theme. --> <style name="Theme.Custom.AlertDialog" parent="Theme.AppCompat""> <!-- Customize your theme here. --> <!-- your app branding color for the app bar --> <item name="colorPrimary">#3F51B5</item> <!-- darker variant for the status bar and contextual app bars --> <item name="colorPrimaryDark">#303F9F</item> <!-- theme UI controls like checkboxes and text fields --> <item name="colorAccent">#FF4081</item> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowNoTitle">false</item> </style> </resources> 方法中的以下行:

onCreate()

您还可以参考this_blog获取更多帮助和支持。

问候:)