ฉันต้องการสร้างไดอะล็อกบนส่วนย่อย (ที่ใช้ทั้งหน้าจอ) กล่องโต้ตอบจะต้องเป็นกล่องโต้ตอบแบบลอยที่จะวางตำแหน่งเหนือส่วนโดยที่ส่วนที่มืดออกมานอกส่วนนั้น ..
สำหรับ Dialog ที่กำหนดเองฉันมี LinearLayout ที่มีขอบโค้งไม่ว่าฉันจะทำอะไรกล่องโต้ตอบจะมีขอบสีดำทุกด้าน (เล็กมาก) ฉันพยายามทุกอย่างเพื่อให้โปร่งใสและหายไป (เพื่อให้กล่องโต้ตอบทั้งหมดเป็นเพียงเค้าโครงเชิงเส้น - กล่องโค้ง)
สำหรับ DialogFragment นี่คือสิ่งที่ฉันมีสำหรับ onCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
LinearLayout layout =(LinearLayout)inflater.inflate(R.layout.custom_dialog, null);
LinearLayout item = (LinearLayout)layout.findViewById(R.id.display_item);
populateItemData(item, inflater);
return layout;
}
custom_dialog เป็นเพียง LinearLayout ที่มี android: backgroung ตั้งค่าเป็น # 000000
นี่คือสไตล์ของฉันสำหรับ Dialog ที่กำหนดเอง
<style name="CustomDialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:alwaysDrawnWithCache">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
ฉันลองชุดค่าผสมทุกรูปแบบในรูปแบบนี้ (จากสิ่งที่ฉันเคยเห็นทางออนไลน์) และฉันไม่สามารถกำจัดขอบสีดำที่น่ารำคาญนั้นได้ฉันสามารถทาสีขาวหรือสีอื่น ๆ ได้ถ้าฉันตั้งค่าพื้นหลัง LinearLayout นั้นเป็นอย่างอื่นที่ไม่ใช่ # 000000 ...
ฉันใช้เวลา 3-4 ชั่วโมงอย่างแท้จริงฉันหวังว่าจะมีคนอื่นช่วยได้ ...