【问题标题】:Android Custom Dialog Class Title ProblemsAndroid自定义对话框类标题问题
【发布时间】:2009-12-10 13:04:47
【问题描述】:
public class MessageDisplayDialog extends Dialog implements OnClickListener

{

    public MessageDisplayDialog(Context context, String title, String message)
    {
        super(context);
        setTitle(title);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.color.default_text_color);
        Log.v(getClass().getSimpleName(), "MessageDisplayDialog");
        LinearLayout objLinearLayout = new LinearLayout(context);
        LinearLayout objButtonLayout = new LinearLayout(context);

        TextView objMesaageView = new TextView(context);
        objMesaageView.setText(message);
        objMesaageView.setTextColor(Color.WHITE);
        objMesaageView.setGravity(Gravity.CENTER_HORIZONTAL);
        objMesaageView.setPadding(0, 0, 0, 10);

        Button okButton = new Button(context);
        okButton.setText(" OK ");
        okButton.setOnClickListener(this);
        okButton.setWidth(100);
        objButtonLayout.addView(okButton);
        objButtonLayout.setGravity(Gravity.CENTER_HORIZONTAL);
        objButtonLayout.setPadding(0, 5, 0, 0);
        objButtonLayout.setBackgroundColor(Color.LTGRAY);

        objLinearLayout.setOrientation(LinearLayout.VERTICAL);
        objLinearLayout.addView(objMesaageView);
        objLinearLayout.addView(objButtonLayout);

        setContentView(objLinearLayout);
        //LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        //this.addContentView(objLinearLayout, param);
    }

    public void onClick(View v)
    {
        this.dismiss();
    }
}

但是对话框标题下方没有显示栏,如何破解。

【问题讨论】:

    标签: android


    【解决方案1】:

    我认为你的问题已经在这个帖子中得到了回答

    Android - change custom title view at run time

    请在提问前进行一些搜索并接受答案。

    【讨论】:

    • 伙伴我不需要更改标题...。我的对话框没有在标题下显示分隔符...我需要解决我的查询...请在下结论之前阅读问题你的随机性
    【解决方案2】:

    我认为内置对话框中标题和消息之间的水平边框是 AlertDialog 的一部分,而不是基本的 Dialog 类,尽管我可能完全错了。无论如何,每当我尝试做与你正在做的事情类似的事情时,那条水平线就会消失,我再也无法找回它。

    我最终只是编写了自己的对话框布局 XML 文件,并使用 <shape> 可绘制对象创建了自己的水平线。像这样创建您自己的完全自定义的对话框布局实际上相当轻松,并且可以让您更好地控制对话框的外观。

    【讨论】:

      【解决方案3】:

      我知道这是旧的,但仅供参考,在自定义对话框上绘制自己的线的解决方案与 ICS 不兼容。

      它将显示您的行和 ICS 现在默认包含的行。所以你会在屏幕上看到两条线。

      【讨论】:

        【解决方案4】:

        用两行代码去掉对话标题

        Dialog dialog = new Dialog(this);
        dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-23
          • 1970-01-01
          • 2015-05-21
          • 1970-01-01
          • 2023-03-13
          • 1970-01-01
          相关资源
          最近更新 更多