AndroidカスタムDialogのサイズを変更

1290 ワード

AndroidカスタムDialogのサイズを変更
アクセントコード
view.setMinimumWidth();

public class TestDialog extends Dialog {
    private Activity mContext;

    public TestDialog(Context context) {
        super(context, R.style.test_dialog_style);
        mContext = (Activity) context;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View view = View.inflate(getContext(), R.layout.dialog_test, null);
        //     
        view.setMinimumWidth((int) (mContext.getWindowManager()
                .getDefaultDisplay().getWidth() * 0.5));
        setContentView(view);
    }
}


有効でないコード

public class MainActivity extends AppCompatActivity {
    TestDialog testDialog = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        testDialog = new TestDialog(this);

        //     
        Window window = testDialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.height = 800;
        lp.width = 800;
        lp.gravity = Gravity.CENTER;
        window.setAttributes(lp);

        testDialog.show();
    }

}