nfcandroid

blog ร้างๆ เจ้าของนานๆเข้ามาที

Home Archive for มีนาคม 2013
วันนี้จะมาดูรูปแบบของ scaleType ใน ImageView ครับ โดย attribute อันนี้ทำให้เราสามารถกำหนดการรูปแบบการ scale รูปภาพได้ครับ ทำไมต้อง scale ? คงจะมีสักครั้งที่เรามีพื้นที่จำกัด แต่รูปภาพที่จะแสดงนั้นมีหลากหลายขนาดซึ่งบางทีเราอาจจะอยากให้แสดงรูปในอัตราส่วนปกติมากกว่าที่จะบีบรูปลงมา หรือ อาจจะต้องการกำหนดการ scale แบบอื่น
หลังจากจัดการกับปัญหา Hard Disk  ตัวเองแล้วก็คิดอยู่นานว่าจะเขียนเรื่องอะไรดี อยากจะเขียนหลายๆเรื่อง แต่คิดว่าคงยากที่จะอธิบาย ยิ่งอธิบายน่าจะยิ่งงง เลยมาตกที่ Custom View หรือคือการสร้าง View ของตัวเองขึ้นมาโดยอาจจะสร้างเป็น library เพื่อเก็บไว้ใช้ภายหลัง หรือว่าอยากได้ view ที่ไม่มีอยู่ใน view มาตรฐาน ในตัวอย่างนี้จะมาลองทำ Number Picker กัน โดยเจ้า Number Picker นี้มีอยู่ใน api level 11 (android 3) ขึ้นไป ในตอนที่ผมเริ่มเขียนมีเครื่อง test เป็น android 2.2 ต้องหาโหลด widget ของที่อื่นมาใช้ ซึ่งบางทีมันก็ไม่ได้ตรงกับที่เราต้องการเท่าไหร่นัก มาลองกันเลยครับ หน้าตาอาจจะธรรมดาไปหน่อยนะครับ
ต่อเนื่องจากบทความที่แล้วนะครับ ผมได้พูดเกี่ยวกับเรื่องของ LinearLayout ไปแล้ว คราวนี้จะพูดถึงเรื่องของ RelativeLayout กันบ้าง เราได้รู้แล้วว่า LinearLayout นั้นการจัดวาง view ภายในจะเหมือนกับการวางกล่องเรียงไปตามแนวที่เรากำหนด ส่วน RelativeLayout นั้นจะเป็นการวางโดยอ้างอิงจาก View อื่นหรือ อ้างอิงจากตัว RelativeLayout เอง ยกตัวอย่างเช่นมี ImageView อยู่หนึ่งเราอยากวางไว้กึ่งกลางของหน้าจอแล้ววางคำอธิบายไว้ด้านล่างของรูปก็จะสามารถทำได้ดังนี้
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
 >
 <ImageView 
     android:id="@+id/img"
     android:layout_centerInParent="true"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:src="@drawable/ic_launcher"
     />
 <TextView 
     android:layout_below="@+id/img"
     android:layout_centerHorizontal="true"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="This view is under image"
     />
</RelativeLayout>
หน้าตาก็จะประมาณนี้
สังเกตจาก xml ด้านบน มีการใช้ attribute layout_centerInParent, layout_centerHorizontal, layout_below โดย attribute เหล่านี้จะไม่มีใน LinearLayout โดย ImageView img กำหนดให้ layout_centerInParent = true คือกำหนดให้อยู่กึ่งกลางของ RelativeLayout ซึ่งในตัวอย่างนั้น RelativeLayout มีขนาดเต็มหน้าจอ TextView กำหนด layout_below ="@+id/img" คือกำหนดให้ View นี้อยู่ใต้ view ที่มี id img ซึ่งในตัวอย่างก็คือ ImageView นั่นเอง จากนั้นกำหนด layout_centerHorizontal=true คือกำหนดให้อยู่กึ่งกลางในแนว horizontal ถ้าเป็นแนวตั้งใช้ layout_centerVertical
วันนี้จะพูดเรื่องของ RelativeLayout และ LinearLayout เบื้องต้นกันครั้บ โดยทั้งสองตัวข้างต้นเป็นประเภท viewGroup ก็คือสามารถมี view อยู่ภายในได้ ยกตัวอย่างเช่น
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Name : "
        />
    <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textNoSuggestions"
        android:hint="TYPE YOU NAME"
        />
</LinearLayout>

หน้าตาก็จะประมาณนี้
สังเกตว่าใน LinearLayout จะมี TextView และ EditText อยู่ภายใน ทีนี้แล้ว RelativeLayout กับ LinearLayout มันต่างกันยังไง? ในส่วนของ LinearLayout นั้นผมมองเหมือนกับการวางกล่องสี่เหลี่ยมวางไปเรื่อยขึ้นอยู่กับว่าเราจะกำหนดให้เรียงต่อไปด้าน horizontal หรือ vertical โดย LinearLayout จะมี attribute ชื่อ orientation ให้เราสามารถกำหนดแนวในการวางได้ โดยใน LinearLayout นั้นก็สามารถวาง LinearLayout ซ้อนลงไปได้

สมัครสมาชิก: บทความ ( Atom )

Categories

android (12) tutorial (5) ListActivity (4) view (3) relativeLayout (2) BaseAdapter (1) List Image (1) SimpleAdapter (1) activity (1) intent (1) linearLayout (1) mediaplayer (1) onClickListener (1)

LATEST POSTS

  • รีวิว นาฬิกา wise รุ่น I-Force
    ใกล้ปีใหม่แล้ว ช่วงนี้เป็นช่วงที่ไม่ค่อยมีเงินเลย เออ แต่คิดไปคิดมา ถามว่าช่วงไหนมีเงินคงจะตอบง่ายกว่า 555  อยากได้นาฬิกาใหม่มาสักพักแล้ว เ...
  • มาใส่ font awesome ใน mpdf กัน
    พอดีมีงานที่ต้องใช้ mpdf  แล้วก็มันมีบางส่วนที่ต้องแสดงไอคอนเล็กๆบางจุด จะทำเป็นรูปภาพก็ลำบากในการปรับขนาดอีก ก็นึกถึง font awesome  ก็เล...
  • ลองเล่นแว่น VR Shinecon
    จั่วหัวว่าลองเล่น แต่ความจริงคือซื้อจริง จ่ายจริง กินมาม่าจริงๆ 5555 เมื่อเร็วๆนี้ได้เจอเพจที่ขายแว่น VR ก็สนใจเลยลองสั่งซื้อมา โดยรุ่นที่ซื...
  • รีวิว HP Pavilion 13-b208TU
    เมื่อเร็วๆนี้ได้ตัดสินใจซื้อโน๊ตบุ้คใหม่ โดยก่อนจะซื้อก็หาข้อมูลตัดสินใจอยู่นาน จนในที่สุดก็ได้เป็นเจ้า HP Pavilion 13-b208TU  โดยสเปคคร่าว...
  • RelativeLayout และ LinearLayout เบื้องต้น 1
    วันนี้จะพูดเรื่องของ RelativeLayout และ LinearLayout เบื้องต้นกันครั้บ โดยทั้งสองตัวข้างต้นเป็นประเภท viewGroup ก็คือสามารถมี view อยู่ภายใน...

คลังบทความของบล็อก

  • ►  2015 (5)
    • ►  ธันวาคม (3)
    • ►  สิงหาคม (1)
    • ►  พฤษภาคม (1)
  • ►  2014 (2)
    • ►  กุมภาพันธ์ (1)
    • ►  มกราคม (1)
  • ▼  2013 (12)
    • ►  พฤศจิกายน (1)
    • ►  มิถุนายน (1)
    • ▼  มีนาคม (4)
      • การใช้งาน ScaleType ใน ImageView
      • การสร้าง Custom View
      • RelativeLaoyut และ LinearLayout เบื้องต้น 2
      • RelativeLayout และ LinearLayout เบื้องต้น 1
    • ►  กุมภาพันธ์ (6)
  • ►  2012 (2)
    • ►  กันยายน (2)
Copyright 2015 nfcandroid.
Base From Charm Template OddThemes

‹ › ×