คำถามติดแท็ก android-view

คำถามเกี่ยวกับมุมมองใน Android มุมมองอาจถูกกำหนดใน Android Layout XML หรือในโค้ด Java คำถามที่ใช้แท็กนี้เกี่ยวข้องกับการดูแนวทางปฏิบัติหรือคำแนะนำทั่วไป สำหรับมุมมองที่เฉพาะเจาะจงโปรดดูข้อมูลสำหรับแท็กนี้ สำหรับคำถามเกี่ยวกับการจัดวางให้ใช้แท็ก [android-layout]

14
วิธีดูข้อมูลวิธีการใน Android Studio
ใน Eclipse เมื่อคุณวางเม้าส์ของคุณเหนือเมธอดหน้าต่างจะปรากฏพร้อมคำอธิบายว่าเมธอดทำอะไรพารามิเตอร์หมายถึงอะไรและส่งกลับอย่างไร มีวิธีที่จะทำให้ Android Studio ทำสิ่งเดียวกันได้หรือไม่?

7
พื้นฐานของ Android: ใช้งานรหัสในเธรด UI
ในมุมมองของการเรียกใช้รหัสในเธรด UI มีความแตกต่างระหว่าง: MainActivity.this.runOnUiThread(new Runnable() { public void run() { Log.d("UI thread", "I am the UI thread"); } }); หรือ MainActivity.this.myView.post(new Runnable() { public void run() { Log.d("UI thread", "I am the UI thread"); } }); และ private class BackgroundTask extends AsyncTask<String, Void, Bitmap> { protected void onPostExecute(Bitmap result) { …

7
วัตถุประสงค์หลักของ setTag () วิธี getTag () ของ View คืออะไร?
วัตถุประสงค์หลักของวิธีการเช่นคืออะไรsetTag()และgetTag()ของViewประเภทวัตถุ? ฉันคิดถูกแล้วว่าฉันสามารถเชื่อมโยงวัตถุจำนวนมากกับมุมมองเดียวได้หรือไม่

24
มีวิธีง่าย ๆ ในการเพิ่มเส้นขอบไปด้านบนและด้านล่างของมุมมอง Android หรือไม่
ฉันมี TextView และฉันต้องการเพิ่มเส้นขอบสีดำตามแนวขอบด้านบนและด้านล่าง ฉันพยายามเพิ่มandroid:drawableTopและandroid:drawableBottomไปที่ TextView แต่นั่นทำให้มุมมองทั้งหมดกลายเป็นสีดำ <TextView android:background="@android:color/green" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableTop="@android:color/black" android:drawableBottom="@android:color/black" android:text="la la la" /> มีวิธีเพิ่มขอบด้านบนและด้านล่างลงในมุมมอง (โดยเฉพาะ TextView) ใน Android หรือไม่?

14
Android: View.setID (int id) โดยทางโปรแกรม - วิธีหลีกเลี่ยงข้อขัดแย้งของ ID?
ฉันเพิ่ม TextViews โดยทางโปรแกรมใน for-loop และเพิ่มลงใน ArrayList ฉันจะใช้งานTextView.setId(int id)อย่างไร ฉันควรใช้ Integer ID ใดดังนั้นจึงไม่ขัดแย้งกับรหัสอื่น

18
มี addHeaderView ที่เทียบเท่าสำหรับ RecyclerView หรือไม่
ฉันกำลังมองหาสิ่งที่เทียบเท่ากับ addHeaderView สำหรับมุมมองรีไซเคิล โดยทั่วไปฉันต้องการให้ภาพที่มี 2 ปุ่มเพิ่มเป็นส่วนหัวของ listview มีวิธีอื่นในการเพิ่มมุมมองส่วนหัวในมุมมองรีไซเคิลหรือไม่ ตัวอย่างคำแนะนำจะเป็นประโยชน์ แก้ไข 2 (เพิ่มโครงร่างชิ้นส่วน): หลังจากเพิ่มคำสั่งบันทึกดูเหมือนว่า getViewType จะได้รับตำแหน่งเป็น 0 เท่านั้นสิ่งนี้นำไปสู่ ​​onCreateView เพียงแค่โหลดหนึ่งเลย์เอาต์: 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: 5 10-26 16:32:53.766 5449-5449/co.testapp I/logger info﹕ Adapter-> getItemCount: …

28
ปุ่มระบายสีใน Android ที่มีการออกแบบวัสดุและ AppCompat
ก่อนที่การAppCompatอัปเดตจะออกมาในวันนี้ฉันสามารถเปลี่ยนสีของปุ่มต่างๆใน Android L ได้ แต่ไม่ใช่รุ่นเก่ากว่า หลังจากรวมการอัปเดต AppCompat ใหม่แล้วฉันไม่สามารถเปลี่ยนสีสำหรับรุ่นใดรุ่นหนึ่งได้เมื่อฉันลองใช้งานปุ่มจะหายไป ไม่มีใครรู้วิธีเปลี่ยนสีปุ่ม? ภาพต่อไปนี้แสดงสิ่งที่ฉันต้องการบรรลุ: ปุ่มสีขาวเป็นค่าเริ่มต้นปุ่มสีแดงเป็นสิ่งที่ฉันต้องการ นี่คือสิ่งที่ฉันทำก่อนหน้านี้เพื่อเปลี่ยนสีของปุ่มในstyles.xml: <item name="android:colorButtonNormal">insert color here</item> และจะทำแบบไดนามิก: button.getBackground().setColorFilter(getResources().getColor(insert color here), PorterDuff.Mode.MULTIPLY); นอกจากนี้ฉันเปลี่ยนชุดรูปแบบของแม่จาก@android:style/Theme.Material.Light.DarkActionBarเป็นTheme.AppCompat.Light.DarkActionBar

29
findViewByID ส่งคืน null
ก่อนอื่น: ใช่ฉันอ่านกระทู้ทั้งหมดในหัวข้อนี้ และไม่เพียง แต่จากเว็บไซต์นี้ ... (คุณเห็นฉันผิดหวังเล็กน้อย) ส่วนใหญ่มีคำแนะนำให้ใช้android:idแทนidไฟล์ XML ฉันทำ. จากคนอื่น ๆ ผมได้เรียนรู้ว่าการทำงานที่แตกต่างกันมากกว่าView.findViewById Activity.findViewByIdฉันจัดการสิ่งนั้นด้วย ในตัวฉันlocation_layout.xmlฉันใช้: <FrameLayout .... > <some.package.MyCustomView ... /> <LinearLayout ... > <TextView ... android:id="@+id/txtLat" /> ... </LinearLayout> </FrameLayout> ในกิจกรรมของฉันฉันทำ: ... setContentView( R.layout.location_layout ); และในคลาสมุมมองที่กำหนดเองของฉัน: ... TextView tv = (TextView) findViewById( R.id.txtLat ); nullซึ่งผลตอบแทน การทำเช่นนี้กิจกรรมของฉันทำงานได้ดี ดังนั้นอาจจะเป็นเพราะการActivity.findViewByIdและView.findViewByIdความแตกต่าง ดังนั้นฉันจึงเก็บบริบทที่ส่งผ่านไปยังตัวสร้างมุมมองศุลกากรภายในเครื่องและลอง: ... TextView …

9
วิธีการจัดโครงสร้าง Views ใน RelativeLayout โดยทางโปรแกรม
ฉันพยายามที่จะบรรลุโปรแกรมต่อไปนี้ (แทนที่จะประกาศผ่าน XML): <RelativeLayout...> <TextView ... android:id="@+id/label1" /> <TextView ... android:id="@+id/label2" android:layout_below: "@id/label1" /> </RelativeLayout> ในคำอื่น ๆ ฉันจะทำให้ที่สองTextViewปรากฏอยู่ด้านล่างหนึ่งคนแรก แต่ฉันต้องการที่จะทำในรหัส: RelativeLayout layout = new RelativeLayout(this); TextView label1 = new TextView(this); TextView label2 = new TextView(this); ... layout.addView(label1); layout.addView(label2); setContentView(layout); ปรับปรุง: ขอบคุณ TreeUK ฉันเข้าใจทิศทางทั่วไป แต่ก็ยังใช้งานไม่ได้ - "B" ทับ "A" ผมทำอะไรผิดหรือเปล่า? RelativeLayout layout …

3
ฉันจะกำหนด ID ให้กับมุมมองโดยทางโปรแกรมได้อย่างไร
ในไฟล์ XML เราสามารถกำหนด ID ให้กับมุมมองที่ชอบandroid:id="@+id/something"แล้วโทรfindViewById()แต่เมื่อสร้างมุมมองโดยทางโปรแกรมฉันจะกำหนด ID ได้อย่างไร ฉันคิดว่าsetId()ไม่เหมือนกับการมอบหมายเริ่มต้น setId()เป็นพิเศษ ใครสามารถแก้ไขฉันได้ไหม

12
พารามิเตอร์ LayoutInflater attachToRoot หมายถึงอะไร
LayoutInflater.inflateเอกสารไม่ตรงชัดเจนกับผมเกี่ยวกับวัตถุประสงค์ของattachToRootพารามิเตอร์ attachToRoot : ว่าควรแนบลำดับชั้นที่สูงเกินจริงไปที่พารามิเตอร์รูทหรือไม่? หากเป็นเท็จรูตจะใช้เพื่อสร้างคลาสย่อยที่ถูกต้องของ LayoutParams สำหรับมุมมองรูทใน XML มีคนช่วยอธิบายรายละเอียดเพิ่มเติมโดยเฉพาะสิ่งที่รูตคือและอาจแสดงตัวอย่างของการเปลี่ยนแปลงพฤติกรรมระหว่างtrueและfalseค่า?

7
วิธีการรับโฮสต์กิจกรรมจากมุมมอง
ฉันมีActivity3 EditTextและมุมมองที่กำหนดเองซึ่งทำหน้าที่แป้นพิมพ์พิเศษเพื่อเพิ่มข้อมูลเข้าไปในEditTexts ขณะนี้ฉันกำลังส่งผ่านActivityมุมมองเพื่อที่ฉันจะได้รับข้อความแก้ไขที่มุ่งเน้นในขณะนี้และอัปเดตเนื้อหาจากแป้นพิมพ์ที่กำหนดเอง มีวิธีการอ้างอิงกิจกรรมหลักและรับการเน้นในขณะนี้EditTextโดยไม่ต้องผ่านกิจกรรมในมุมมองหรือไม่


5
แอตทริบิวต์ที่มีชื่อเดียวกันใน attrs.xml สำหรับมุมมองที่กำหนดเอง
ฉันกำลังเขียนมุมมองที่กำหนดเองไม่กี่ตัวที่ใช้แอตทริบิวต์ที่มีชื่อเดียวกันร่วมกัน ใน<declare-styleable>ส่วนที่เกี่ยวข้องในattrs.xmlฉันต้องการใช้ชื่อเดียวกันสำหรับแอตทริบิวต์: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView1"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> ... </declare-styleable> <declare-styleable name="MyView2"> <attr name="myattr1" format="string" /> <attr name="myattr2" format="dimension" /> ... </declare-styleable> </resources> ฉันได้รับข้อผิดพลาดบอกว่าmyattr1และmyattr2มีการกำหนดไว้แล้ว ฉันพบว่าฉันควรละเว้นformatแอตทริบิวต์สำหรับmyattr1และmyattr2ในMyView2แต่ถ้าฉันทำฉันได้รับข้อผิดพลาดต่อไปนี้ในคอนโซล: [2010-12-13 23:53:11 - MyProject] ERROR: In <declare-styleable> MyView2, unable to find attribute มีวิธีที่ฉันสามารถทำสิ่งนี้ได้หรือไม่บางทีการกำหนดชื่อบางอย่าง (แค่เดา)

7
ฉันสามารถใช้เพจเจอร์มุมมองกับมุมมองได้หรือไม่ (ไม่ใช่กับส่วนย่อย)
ฉันใช้ViewPagerสำหรับการปัดระหว่างFragmentsแต่ฉันสามารถใช้ViewPagerเพื่อปัดระหว่างViewsเลย์เอาต์ XML แบบธรรมดาได้หรือไม่ นี่คือหน้าของฉันAdapterสำหรับ ViewPager ซึ่งใช้ในการปัดระหว่าง Fragments: import java.util.List; import com.app.name.fragments.TipsFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentTransaction; import android.view.ViewGroup; public class PageAdapter extends FragmentPagerAdapter { /** * */ List<Fragment> fragments; public PageAdapter(FragmentManager fm,List<Fragment> frags) { super(fm); fragments = frags; } @Override public Fragment getItem(int arg0) { // TODO …

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