2010-12-14 7 views
14

Có ai từng triển khai thành công EditText trong tiện ích không? Tôi nhận thấy Android không hỗ trợ điều này, tuy nhiên, "Friend Stream" trên các thiết bị HTC hiện nó ... Đây có phải là do tính năng HTC không? Tôi có thể thực hiện điều này trên HTC không? Bất cứ ai có bất kỳ ý tưởng sáng tạo điên rồ để thực hiện một hộp văn bản mà thực sự cho phép gõ trên một widget màn hình?Lựa chọn thay thế EditText trong một Widget? Phải có cách

ANY các khách hàng tiềm năng về điều này sẽ được nhiều người đánh giá cao!

Trả lời

14

Hầu hết các điều này có thể google-ed, expept cho phong cách của TextView (bạn không thể sử dụng EditText trong widget ..)

Nhưng .. đi với thuộc tính phong cách .. :)

<TextView 
    android:id="@+id/etBlahblah" 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:layout_marginTop="4dp" 
    android:layout_marginBottom="4dp" 
    android:layout_marginLeft="2dp" 
    android:layout_marginRight="2dp" 
    style="@android:style/Widget.EditText"> 
</TextView> 
+0

@ + 1 tốt tôi sẽ thử điều này –

+0

Sử dụng và sau đó thêm một nhấp chuột = "true", sau đó gọi một hoạt động có trường chỉnh sửa. –

15

Cách để thực hiện việc này là nhấn vào tiện ích của bạn sẽ bắt đầu một hoạt động mới (chuẩn) và để làm cho hoạt động này hoàn toàn trong suốt. Có nhiều cách để truy xuất vị trí của tiện ích con của bạn để bạn có thể định vị một TextView trong hoạt động của mình ở đầu tiện ích của bạn. Thực hiện một vòi nước bên ngoài TextView của bạn đóng hoạt động. Tôi nghĩ đây là tiện ích tìm kiếm của Google, bạn có thể xem mã này.

+1

Rất tuyệt, cảm ơn. Hay đấy. Các widget google dường như không cố gắng mà khó ... chỉ cần di chuyển nó lên trên cùng của màn hình trong hoạt động mới nó ra mắt. – Will

+0

Cảm ơn Gilles dường như là một logic thú vị. Tôi có thể đặt một nút ở vị trí của hộp văn bản nhưng tôi không thể làm cho nó trông giống như một hộp tìm kiếm. Làm thế nào tôi có thể làm điều đó? – Sohaib

+0

Sử dụng hình ảnh hoặc kiểm tra @ câu trả lời của Stefan – JacksOnF1re