gpt4 book ai didi

java - 对话框宽高问题

转载 作者:行者123 更新时间:2023-11-29 23:46:01 25 4
gpt4 key购买 nike

我使用自定义对话框,但在移动设备和选项卡 View 中,但当我检查选项卡时设计发生了变化

我想在所有设备上使用相同的对话框。

查看我下面的代码。

private void startDialog() {

final Dialog dialog = new Dialog(activity);
int width = (int)(getResources().getDisplayMetrics().widthPixels*0.70);
int height = (int)(getResources().getDisplayMetrics().heightPixels*0.65);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

dialog.setContentView(R.layout.checkout_alert_dialog);
dialog.show();
dialog.getWindow().setLayout(width, height);


btn_cancle = dialog.findViewById(R.id.btn_cancle);
btn_cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(activity, "Cancel coming soon", Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});

btn_continue = dialog.findViewById(R.id.btn_continue);
btn_continue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(activity, " Ok coming soon", Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
}

下面是Dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<ImageView
android:id="@+id/iv_pointBox"
android:layout_width="@dimen/_80sdp"
android:layout_height="@dimen/_80sdp"
android:src="@drawable/ic_chekout_popup"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/_30sdp"
/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/normal_input_text_size"
android:text="You've chosen to redeem 865 Points and pay 44.44 AED. The Payment process might take Some times, please do not hit the back button or close the app. Would you like to continue. "
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/_20sdp"
android:layout_marginRight="@dimen/_20sdp"
android:layout_below="@+id/iv_pointBox"
android:layout_marginTop="@dimen/_15sdp"
/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/_1sdp"
android:background="@color/view_color"
android:layout_above="@+id/linerbutton"
/>
<LinearLayout
android:id="@+id/linerbutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
>
<Button
android:id="@+id/btn_cancle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/lable_cancel"
android:textColor="@color/black"
android:textSize="@dimen/normal_input_text_size"
android:textStyle="bold"
android:background="@null"
android:gravity="center"
android:layout_weight="1"
/>

<View
android:layout_width="@dimen/_1sdp"
android:layout_height="@dimen/_45sdp"
android:background="@color/view_color"
/>
<Button
android:id="@+id/btn_continue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/lable_continue"
android:textColor="@color/black"
android:textSize="@dimen/normal_input_text_size"
android:textStyle="bold"
android:background="@null"
android:layout_weight="1"
android:gravity="center"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>

我提到了我的设备的 2 个屏幕截图:

移动设备屏幕截图:

enter image description here

标签截图:

enter image description here

屏幕截图对话框中的内容已更改。 那么我该如何解决

提前致谢:

最佳答案

只要看看你的 layout.xml 你的布局 heightwidthmatch_parent 然后它创建一个空格.

只需用我的 xml 替换你的 xml 即可。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/_250sdp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/white"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>

<ImageView
android:id="@+id/iv_pointBox"
android:layout_width="@dimen/_80sdp"
android:layout_height="@dimen/_80sdp"
android:src="@drawable/ic_chekout_popup"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/_30sdp"
/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/normal_input_text_size"
android:text="You've chosen to redeem 865 Points and pay 44.44 AED. The Payment process might take Some times, please do not hit the back button or close the app. Would you like to continue. "
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/_20sdp"
android:layout_marginRight="@dimen/_20sdp"
android:layout_below="@+id/iv_pointBox"
android:layout_marginTop="@dimen/_15sdp"
/>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/_1sdp"
android:background="@color/view_color"
android:layout_marginTop="@dimen/_50sdp"
/>
<LinearLayout
android:id="@+id/linerbutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:id="@+id/btn_cancle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/lable_cancel"
android:textColor="@color/black"
android:textSize="@dimen/normal_input_text_size"
android:textStyle="bold"
android:background="@null"
android:gravity="center"
android:layout_weight="1"
/>

<View
android:layout_width="@dimen/_1sdp"
android:layout_height="@dimen/_45sdp"
android:background="@color/view_color"
/>
<Button
android:id="@+id/btn_continue"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/lable_continue"
android:textColor="@color/black"
android:textSize="@dimen/normal_input_text_size"
android:textStyle="bold"
android:background="@null"
android:layout_weight="1"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

并在 java 文件中删除以下三行 无需在运行时更改 heightwidth:

int width = (int)(getResources().getDisplayMetrics().widthPixels*0.70);
int height = (int)(getResources().getDisplayMetrics().heightPixels*0.65);
dialog.getWindow().setLayout(width, height);

关于java - 对话框宽高问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51396694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com