android 自定义Dialog 显示问题 ?请求解决
请看图,希望只把红线圈的显示出来,XML只有红线圈的这么大
代码
Dialog dialog = new Dialog(getActivity());
dialog.setContentView(R.layout.edit_colorchange_dialog);
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
lp.x = 100;
lp.y = -300;
dialogWindow.setAttributes(lp);
dialog.show();
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="266.4sp"
android:layout_height="58.6sp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/zhengwen_xuanyanse" >
</LinearLayout>
</LinearLayout>
[解决办法]
Dialog dialog = new Dialog(MainActivity.this, R.style.dialog);
ImageView img = new ImageView(MainActivity.this);
img.setImageResource(R.drawable.a);
img.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT));
dialog.setContentView(img);
dialog.show();
<style name="dialog" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
dialog.show();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
lp.x = 100;
lp.y = -300;
lp.width = 266.4 * 3;//这里如果你是xxhdpi,那么值就是3,hdpi的话,值就是2,xhdpi的值应该是2.5
dialogWindow.setAttributes(lp);