คำถามติดแท็ก user-interface

User Interface (UI) เป็นระบบที่ผู้ใช้โต้ตอบกับคอมพิวเตอร์ แท็กนี้สามารถใช้สำหรับคำถามการเขียนโปรแกรมที่เกี่ยวข้องกับ UI โปรดทราบว่ามีไซต์ Stack Exchange แยกต่างหากสำหรับอินเทอร์เฟซผู้ใช้การโต้ตอบกับคอมพิวเตอร์และการออกแบบประสบการณ์ผู้ใช้: https://ux.stackexchange.com

2
GUI ไม่ทำงานหลังจากเขียนใหม่เป็น MVC
ฉันกำลังฝึกเขียนโปรแกรมสไตล์ MVC ฉันมีเกม Mastermind ในไฟล์เดียวใช้งานได้ดี (อาจจะนอกเหนือจากที่ปุ่ม "ตรวจสอบ" จะมองไม่เห็นเมื่อเริ่มต้น) http://paste.pocoo.org/show/226726/ แต่เมื่อฉันเขียนใหม่เป็นโมเดลดูไฟล์คอนโทรลเลอร์ - และเมื่อฉันคลิกที่พินว่าง (ซึ่งควรได้รับการอัปเดตและทาสีใหม่ด้วยสีใหม่) การสังเกตจะเกิดขึ้น ใครสามารถเห็นปัญหาที่นี่? ฉันได้ลองทาสีใหม่ () ในที่ต่างๆแล้ว แต่ก็ไม่ได้ผลเลย: / หลัก: public class Main { public static void main(String[] args){ Model model = new Model(); View view = new View("Mastermind", 400, 590, model); Controller controller = new Controller(model, view); view.setVisible(true); …

18
ฉันจะรับความสูงและความกว้างของ Android Navigation Bar โดยทางโปรแกรมได้อย่างไร
แถบนำทางสีดำที่ด้านล่างของหน้าจอไม่สามารถถอดออกได้อย่างง่ายดายใน Android เป็นส่วนหนึ่งของ Android ตั้งแต่ 3.0 แทนปุ่มฮาร์ดแวร์ นี่คือภาพ: ฉันจะรับขนาดของความกว้างและความสูงขององค์ประกอบ UI นี้เป็นพิกเซลได้อย่างไร

28
วิธีตั้งค่าไอคอนและข้อความตรงกลางในปุ่ม Android โดยตั้งค่าความกว้างเป็น "เติมแม่"
ฉันต้องการมีปุ่ม Android ที่มีไอคอน + ข้อความอยู่ตรงกลาง ฉันใช้แอตทริบิวต์ drawableLeft การตั้งค่าภาพนี้ทำงานได้ดีถ้าปุ่มมีความกว้างของแต่ฉันต้องการที่จะยืดความกว้างสูงสุดดังนั้นฉันจะใช้ความกว้าง"wrap_content" "fill_parent"สิ่งนี้จะย้ายไอคอนของฉันไปทางซ้ายของปุ่มตรงและฉันต้องการให้ทั้งไอคอนและข้อความอยู่กึ่งกลางภายในปุ่ม ฉันลองตั้งค่าช่องว่างภายใน แต่อนุญาตให้ให้ค่าคงที่เท่านั้นดังนั้นจึงไม่ใช่สิ่งที่ฉันต้องการ ฉันต้องการให้ไอคอน + ข้อความอยู่ตรงกลาง <Button android:id="@+id/startTelemoteButton" android:text="@string/start_telemote" android:drawableLeft="@drawable/start" android:paddingLeft="20dip" android:paddingRight="20dip" android:width="fill_parent" android:heigh="wrap_content" /> ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีที่ฉันจะบรรลุเป้าหมายนั้น?

9
ฉันจะจัดข้อความให้อยู่กึ่งกลางในแนวตั้งและแนวนอนใน Flutter ได้อย่างไร
ฉันต้องการทราบวิธีจัดกึ่งกลางเนื้อหาของวิดเจ็ตข้อความในแนวตั้งและแนวนอนใน Flutter ฉันรู้เพียงวิธีจัดศูนย์กลางวิดเจ็ตโดยใช้Center(child: Text("test"))แต่ไม่ใช่เนื้อหา โดยค่าเริ่มต้นจะจัดชิดซ้าย ใน Android ผมเชื่อว่าทรัพย์สินของ TextView gravityที่ประสบความสำเร็จนี้จะเรียกว่า ตัวอย่างสิ่งที่ฉันต้องการ:

8
ความต้องการของ JSF คืออะไรเมื่อ UI สามารถทำได้ด้วยไลบรารี JavaScript เช่น jQuery และ AngularJS
ฉันอ่านเกี่ยวกับ JSF ซึ่งเป็นกรอบงาน UI และมีส่วนประกอบ UI บางอย่าง แต่จะดีกว่าหรือแตกต่างอย่างไรจากจำนวนส่วนประกอบที่มีให้เลือกตั้งแต่ jQueryUI, AngularJS, ExtJS หรือแม้แต่ HTML ธรรมดา, CSS และ JavaScript ทำไมคนถึงควรเรียน JSF

12
GUI ที่เข้ารหัสด้วยมือเทียบกับ GUI ของนักออกแบบ Qt [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันใช้เวลาช่วงวันหยุดนี้เพื่อเรียนรู้การเขียนแอปพลิเคชัน Qt ฉันอ่านเกี่ยวกับ Qt Designer เมื่อไม่กี่ชั่วโมงที่ผ่านมาซึ่งทำให้ฉันสงสัยว่าคนที่เขียนแอปพลิเคชันในโลกแห่งความเป็นจริงใน Qt ใช้อะไรในการออกแบบ GUI ของตน จริงๆแล้วคนทั่วไปออกแบบ GUI อย่างไร? สำหรับคนหนึ่งฉันพบว่าการเขียนโค้ดด้วยมือนั้นง่ายกว่าการใช้ Qt Designer แม้ว่าสำหรับ GUI Designer ที่ซับซ้อนอาจสมเหตุสมผล GUI ขนาดใหญ่อาจเป็นไปได้โดยใช้ Designer แต่เมื่อเวลาผ่านไปพวกเขาอาจจัดการได้ยากมากเมื่อความซับซ้อนเพิ่มขึ้น (นี่เป็นเพียงความคิดเห็นของฉัน) ฉันยังดาวน์โหลดซอร์สโค้ด AmaroK เพื่อดูว่าคนเหล่านั้นกำลังทำอะไรอยู่และพบการเรียก addWidget () และเพื่อน ๆ มากมาย แต่ไม่มีไฟล์ XML ใดที่สร้างโดย Designer (ยกเว้น: AmaroK ต้องเป็นแอปพลิเคชั่นโปรดของฉันเลยทีเดียว ทุกแพลตฟอร์ม) …

7
การใช้ขอบลบใน Android เป็นการปฏิบัติที่ไม่ดีหรือไม่
การสาธิตขอบลบ: สถานการณ์ มุมมองที่ทับซ้อนกันโดยการตั้งค่าระยะขอบเชิงลบให้กับมุมมองใดมุมมองหนึ่งเพื่อบุกรุกกรอบขอบเขตของมุมมองอื่น ความคิด ดูเหมือนว่าจะทำงานในแบบที่คุณคาดหวังด้วยการซ้อนทับกันของเลย์เอาต์หากควร แต่ฉันไม่อยากเจอปัญหาใหญ่ขึ้นเพราะไม่รู้ว่าทำในสิ่งที่ถูกต้อง ตัวเลียนแบบอุปกรณ์ทางกายภาพคุณตั้งชื่อมันเมื่อคุณใช้ระยะขอบเชิงลบทุกอย่างดูเหมือนจะทำงานได้อย่างถูกต้องมุมมองหนึ่งจะบุกรุกกรอบขอบเขตมุมมองของอีกมุมมองหนึ่งและขึ้นอยู่กับว่ามันประกาศในเค้าโครงอย่างไรว่าจะอยู่เหนือหรือใต้มุมมองอื่น ฉันยังทราบว่าตั้งแต่ API 21 เราสามารถตั้งค่าtranslationZและelevation คุณลักษณะที่จะทำให้มุมมองที่ปรากฏด้านบนหรือด้านล่างของมุมมองอื่น ๆ แต่กังวลของฉันพื้นมาจากความจริงที่ว่าในเอกสารสำหรับlayout_marginแอตทริบิวต์ก็ระบุไว้อย่างชัดเจนว่าค่าอัตรากำไรที่ควรจะเป็นในเชิงบวกให้ ฉันอ้าง: ข้อความที่ตัดตอนมา: ระบุช่องว่างเพิ่มเติมทางด้านซ้ายบนขวาและด้านล่างของมุมมองนี้ พื้นที่นี้อยู่นอกขอบเขตของมุมมองนี้ ค่ามาร์จิ้นที่ควรจะเป็นในเชิงบวก ต้องเป็นค่ามิติซึ่งเป็นตัวเลขทศนิยมที่ต่อท้ายด้วยหน่วยเช่น "14.5sp" หน่วยที่ใช้ได้ ได้แก่ px (พิกเซล), dp (พิกเซลที่ไม่ขึ้นกับความหนาแน่น), sp (พิกเซลที่ปรับขนาดตามขนาดตัวอักษรที่ต้องการ), นิ้ว (นิ้ว), มม. (มิลลิเมตร) ... ในช่วงหลายปีที่ผ่านมาตั้งแต่แรกที่ถามคำถามนี้ฉันไม่ได้มีปัญหาใด ๆ เกี่ยวกับระยะขอบติดลบพยายามหลีกเลี่ยงการใช้พวกเขาให้มากที่สุด แต่ก็ไม่พบปัญหาใด ๆ ดังนั้นแม้ว่าเอกสารจะระบุว่าฉันก็ไม่ได้เช่นกัน กังวลเกี่ยวกับมัน


26
Android - ปุ่มย้อนกลับในแถบชื่อเรื่อง
ในหลาย ๆ แอพ (ปฏิทิน, ไดรฟ์, Play Store) เมื่อคุณแตะปุ่มและเข้าสู่กิจกรรมใหม่ไอคอนในแถบชื่อเรื่องจะเปลี่ยนเป็นปุ่มย้อนกลับ แต่สำหรับแอปที่ฉันกำลังสร้างนั้นจะไม่ทำเช่นนั้น ฉันจะทำให้ไอคอนนั้นนำคุณกลับไปที่หน้าจอก่อนหน้าได้อย่างไร


2
ความแตกต่างระหว่าง validate (), revalidate () และ invalidate () ใน Swing GUI
ส่วนประกอบสวิงมีหลายวิธีที่เกี่ยวข้องกับการอัปเดตเค้าโครงหน้าจอโดยเฉพาะ: validate() invalidate() revalidate() เอกสาร Java กำหนดสิ่งเหล่านี้จากมุมมองทางเทคนิค แต่ยังไม่ชัดเจนว่าจะใช้อย่างไร อะไรคือความแตกต่างระหว่างสิ่งเหล่านี้และในกรณีใดที่คุณควรใช้แทนที่จะใช้อย่างอื่น?

9
ทำให้หน้าต่าง WPF ลากได้ไม่ว่าจะคลิกองค์ประกอบใดก็ตาม
คำถามของฉันคือ 2 เท่าและฉันหวังว่าจะมีวิธีแก้ปัญหาที่ง่ายกว่าสำหรับทั้งสองอย่างที่จัดทำโดยWPFแทนที่จะเป็นโซลูชันมาตรฐานจาก WinForms (ซึ่ง Christophe Geers ให้ไว้ก่อนที่ฉันจะชี้แจงนี้) ก่อนอื่นมีวิธีทำให้ Window ลากได้โดยไม่ต้องจับและประมวลผลเหตุการณ์คลิกเมาส์ + ลากหรือไม่? ฉันหมายถึงหน้าต่างสามารถลากได้โดยแถบชื่อเรื่อง แต่ถ้าฉันตั้งค่าหน้าต่างไม่ให้มีและยังคงต้องการให้ลากได้มีวิธีที่จะกำหนดทิศทางเหตุการณ์ใหม่ไปยังสิ่งที่จัดการกับการลากแถบหัวเรื่องหรือไม่ เหรอ? ประการที่สองมีวิธีใช้ตัวจัดการเหตุการณ์กับองค์ประกอบทั้งหมดในหน้าต่างหรือไม่? เช่นเดียวกับทำให้หน้าต่างลากได้ไม่ว่าผู้ใช้จะคลิก + ลากองค์ประกอบใด เห็นได้ชัดว่าไม่ต้องเพิ่มตัวจัดการด้วยตนเองในทุกองค์ประกอบ แค่ทำครั้งเดียว?

10
เป็นไปได้ไหมที่จะใส่ ConstraintLayout ไว้ใน ScrollView
ดังนั้นเมื่อเร็ว ๆ นี้พร้อมกับ Android 2.2 สตูดิโอมี ConstraintLayout ใหม่ที่ทำให้การออกแบบมากขึ้น แต่ไม่เหมือนRelativeLayoutและLinearlayoutผมไม่สามารถใช้ในการเซอร์ราวด์ScrollView ConstraintLayotเป็นไปได้หรือไม่ ถ้าเป็นเช่นนั้นอย่างไร? กล่าวคือ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <android.support.constraint.ConstraintLayout android:id="@+id/constraintLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <!-- Have whatever children you want inside --> </android.support.constraint.ConstraintLayout> </ScrollView>

24
UI ที่ดีที่สุดสำหรับการป้อนวันเดือนปีเกิดคืออะไร? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ วิธีที่ดีที่สุดสำหรับตัวเลือกวันเดือนปีเกิดคืออะไร? อินพุตข้อความ 3 ช่อง (เดือน / วัน / ปี) หรืออินพุตหน้ากากเดียว ผู้ใช้ต้องใช้แป้นพิมพ์ 3 ช่องเลือก ผู้ใช้สามารถใช้แป้นพิมพ์หรือเมาส์ หนึ่งที่ดีdatepicker ฉันต้องการทราบว่าอะไรเป็นวิธีแก้ปัญหาที่ใช้งานได้และไม่มีปัญหามากที่สุดดังนั้นผู้ใช้จะไม่สับสนเลย


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.