2012-03-17 32 views
15

Có một vài bài đăng chạm vào chủ đề này. Tôi nghĩ tôi nên hỏi câu hỏi đơn giản này hy vọng làm rõ điều này.Nút có thể lấy tiêu điểm như thế nào?

Tôi không thể thiết lập tiêu điểm trên nút. Tôi biết tôi có thể bỏ lỡ một cái gì đó cơ bản. Dưới đây là cách bố trí đơn giản:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:focusable="true" /> 

</LinearLayout> 

Sau đây là mã đơn giản trong onCreate():

 Button button = (Button)findViewById(R.id.button1); 
     button.setFocusable(true); 
     button.requestFocus(); 
     button.setText("Debug"); //Just to show the code here has been executed 

Nó chỉ đơn giản không hoạt động (ví dụ: các nút không được sự tập trung).

Mọi sửa lỗi hoặc hiểu lầm của tôi sẽ được đánh giá cao.

Trả lời

34

cập nhật mã của bạn:

 Button button = (Button)findViewById(R.id.button1); 
     button.setFocusable(true); 
     button.setFocusableInTouchMode(true);///add this line 
     button.requestFocus(); 
     button.setText("Debug"); 
+1

Nút sẽ có Focus khác quá nhưng bạn không nhìn thấy nó. Tiêu điểm trực quan chỉ có trong [TouchMode] (http://android-developers.blogspot.de/2008/12/touch-mode.html) – zapl

+0

Cảm ơn tất cả các bạn đã phản hồi và làm rõ nhanh chóng. Dường như tôi không hiểu "tập trung" có ý nghĩa gì trong bối cảnh cụ thể. Bây giờ tôi tự hỏi những gì tiện ích mà một nút đạt được tập trung mà không hiển thị nó có. – Hong

+1

Giả sử bạn có bàn phím được gắn vào thiết bị của mình (như trình giả lập) hoặc bạn có thiết bị có d-pad và bạn nhấn enter/click dpad. Bất cứ điều gì đã tập trung nhận được gọi là ngay bây giờ. Nếu bạn chỉ sử dụng ứng dụng bằng ngón tay thì bạn thường có thể bỏ qua tiêu điểm. – zapl

Các vấn đề liên quan