相关疑难解决方法(0)

Android:如何创建没有标题的Dialog?

我正在尝试在Android中生成自定义对话框.我像这样创建我的Dialog:

dialog = new Dialog(this);
dialog.setContentView(R.layout.my_dialog);
Run Code Online (Sandbox Code Playgroud)

除了Dialog的标题之外,Everythings工作正常.即使我没有设置对话框的标题,对话框弹出窗口在对话框的位置也有一个空格.

有没有办法隐藏Dialog的这一部分?

我尝试使用AlertDialog,但似乎布局设置不正确:

LayoutInflater inflater = 
    (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.map_dialog, null);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(view);

// dialog = new Dialog(this);
// dialog.setContentView(R.layout.map_dialog);

dialog = builder.create();

((TextView) dialog.findViewById(R.id.nr)).setText(number);
Run Code Online (Sandbox Code Playgroud)

如果我使用这段代码,我会在最后一行得到一个空指针异常.该对话框不为null,因此我尝试检索的TextView不存在.
如果我取消注释我使用Dialog构造函数的部分,一切正常,但对于我的对话框布局上方的标题.

android dialog android-layout

263
推荐指数
11
解决办法
22万
查看次数

如何使DialogFragment宽度为Fill_Parent

您好我正在使用Android应用程序,我用它DialogFragment来显示对话框,但它的宽度非常小.我怎样才能达到这个宽度fill_parent呢?

public class AddNoteDialogFragment extends DialogFragment {

    public AddNoteDialogFragment() {
        // Empty constructor required for DialogFragment
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        getDialog().setTitle(getString(R.string.app_name));
        View view = inflater.inflate(R.layout.fragment_add_note_dialog,
                container);

        return view;
    }


    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Dialog dialog = super.onCreateDialog(savedInstanceState);

        // request a window without the title
        dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);

        return dialog;
    }
}
Run Code Online (Sandbox Code Playgroud)

fragment_add_note_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <EditText
        android:id="@+id/addNoteEditText"
        android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android fragment android-fragments android-dialogfragment

78
推荐指数
9
解决办法
6万
查看次数

对话框片段顶部的布局边距/填充

使用片段时,我的布局会受到顶部额外空间的干扰,我不知道它来自何处.它看起来像这样:

在此输入图像描述

这个空地的可能来源是什么?我还没有找到主题或一些样式设置,或者这个空间是否留给了动作栏?我真的想摆脱这个.

以下是相应的布局xml和实例化对话框的代码:

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_margin="5dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <ProgressBar
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/search_progress"
        style="?android:attr/progressBarStyle"
        android:indeterminate="true" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/search_progress"
            android:text="Searching for:" />

        <TextView
            android:id="@+id/searchingNameTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:layout_alignBottom="@+id/search_progress"
            android:layout_alignLeft="@+id/textView1"
            android:text="Barcelona" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Java的:

FragmentManager fm = this.getSupportFragmentManager();
mSearchingDialog = new SearchingDialogFragment();
Bundle bundle = new Bundle();
bundle.putString("name", mCityToAdd.userName());
mSearchingDialog.setArguments(bundle);
mSearchingDialog.show(fm, TAG);
Run Code Online (Sandbox Code Playgroud)

我也在这里问过这个问题,认为这是一个与scrollview相关的问题,但是空间出现在我的所有片段中:

ScrollView在顶部添加了额外的空间

layout user-interface android android-fragments android-dialogfragment

16
推荐指数
3
解决办法
1万
查看次数

在dialogfragment中删除白色背景

以下是我调用DialogFragment的方法:

DialogSelectAccount myDiag=new DialogSelectAccount();
myDiag.show(ft,"Diag" );
Run Code Online (Sandbox Code Playgroud)

这是(部分)我的DialogFragment的创建方式:

public class DialogSelectAccount extends DialogFragment {
public DialogSelectAccount() {

    }

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);
 }

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.dialog_select_account, container, false);
tvMessage = (TextView) rootView.findViewById(R.id.tvMessage);
        btnAccountPublic = (Button) rootView.findViewById(R.id.btnAccountPublic);
        btnAccountEnterprise = (Button) rootView.findViewById(R.id.btnAccountEnterprise);
        tvMessage.setText(message);
        btnAccountPublic.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Login.setAccountType = 2;
                dismiss();
            }
        });
        btnAccountEnterprise.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Login.setAccountType …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-dialog android-dialogfragment

7
推荐指数
1
解决办法
7720
查看次数

删除DialogFragment的标题

我已经尝试了一段时间以删除DialogFragment的标题,但是几次尝试都失败了。我尝试了这些:

<style name="dialog" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

和这个:

    int style, theme;

    style = DialogFragment.STYLE_NO_TITLE;
    theme = R.style.dialog;//Tried using Theme.Holo.Dialog here too


    setStyle(style, theme);//Setting theme to 0 renders it invisible. Content only
Run Code Online (Sandbox Code Playgroud)

并且这(无效):

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
     Dialog dialog = super.onCreateDialog(savedInstanceState);

     // request a window without the title
     dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
     return dialog;
}
Run Code Online (Sandbox Code Playgroud)

没有任何作用会删除标题。

还有其他想法吗?

编辑:

DIalogFragment中的重要代码:

public class MenuDialog extends DialogFragment implements View.OnClickListener {
    Context c;
    Clicker cl;
    Game game;

    public static MenuDialog newInstance() {
        MenuDialog f = new …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment

2
推荐指数
1
解决办法
1730
查看次数

DialogFragment顶部的白色矩形

当使用dialogFragment时,我在片段顶部得到一个白色空格矩形而不知道原因.

我应该得到什么 在此输入图像描述

我真正得到的 在此输入图像描述

我的DialogFragment:

 public class SelectDialogFragment extends DialogFragment {

            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            //inflate layout with recycler view
            View v = inflater.inflate(R.layout.select_frag, container, false);
            return v;
        }

}
Run Code Online (Sandbox Code Playgroud)

select_frag.xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:orientation="vertical"
    android:background="#000"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="New Text"
        android:id="@+id/textView" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android android-studio

0
推荐指数
1
解决办法
722
查看次数