2013-05-11 8 views
21

Nếu tôi có rất nhiều TextView phục vụ như các nhãn hàng đó, tôi nghĩ rằng tôi có thể trích xuất tất cả mọi thứ đó là phổ biến về chúng thành một phong cách, và trong việc sử dụng bố trí chỉTại sao tôi không nên đặt layout_width và layout_height theo kiểu?

<TextView style="@style/label" android:text="Foo"/> 
<TextView style="@style/label" android:text="Bar"/> 

với phong cách như:

<style name="label"> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
</style> 

Nhưng khi tôi làm điều này, nó hoạt động tốt trên trình giả lập và thiết bị, nhưng trình soạn thảo XML của Android phàn nàn rằng "<TextView>" does not set the required layout_height attribute. Có lý do nào khiến tại sao nó báo cáo cảnh báo này không?

Trả lời

8

Bạn đã cố gắng dọn dẹp dự án chưa?

Tôi đang sử dụng cũng điều tương tự trên một số tệp XML cho chiều rộng và chiều dài. Dưới đây là một ví dụ làm việc trên ứng dụng của tôi, bạn có thể có một cái nhìn:

<TextView 
    android:id="@+id/viewdescription" 
    android:textIsSelectable="true" 
    android:layout_below="@+id/rating_bar_view" 
    android:minLines="8" 
    style="@style/description" /> 

Và XML:

<style name="description"> 
    <item name="android:layout_gravity">center_horizontal</item> 
    <item name="android:inputType">textMultiLine</item> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">wrap_content</item>  
    <item name="android:textSize">14sp</item> 
    <item name="android:textColor">@color/Black</item> 
    <item name="android:layout_marginRight">8dp</item> 
    <item name="android:layout_marginLeft">8dp</item> 

+0

nó đang làm việc tốt, nhưng nó gây ra một cảnh báo trong Eclipse khi tôi chuyển đổi vào Giao diện đồ họa – Axarydax

+0

Xin lỗi tôi đã hiểu lầm. Tôi đã kiểm tra trong bố cục đồ họa nhưng không thấy bất kỳ cảnh báo nào về điều này. Nhưng ở phía bên kia tôi cũng tìm thấy cảnh báo về chủ đề ('Không thể tìm thấy danh mục tài nguyên chủ đề cho chủ đề hiện tại') đang thực sự hoạt động đúng trên ứng dụng. Có thể một vấn đề liên quan đến Eclipse ... –

+0

Bạn đã bao giờ giải quyết vấn đề này chưa? Tôi cũng thấy điều này nhưng nó đổ vỡ khi tôi chạy ứng dụng khi trước đó nó không. Có vẻ như Eclipse đã lộn xộn các tài nguyên và không liên kết kiểu cho tôi nhưng tôi không thể sửa nó. Làm sạch, khởi động lại nhật thực và một số thứ khác chưa giải quyết được vấn đề của tôi. – Cookster

-3

tôi điều bạn nên đưa mẹ của nhãn như "@ android: style/Widget.TextView "

+0

Chúng tôi không cần thêm nhãn cho điều đó, chúng tôi có thể thêm chiều rộng và chiều cao theo phong cách. –

2

Sau Build > Clean Project cố gắng, tôi vẫn gặp vấn đề tương tự trong trình soạn thảo bố cục; một khởi động lại đầy đủ của IDE của tôi đã giải quyết được vấn đề cho tôi.

+0

đã làm các trick. Cảm ơn. Tôi có nó hoạt động trên MacOS – Tejas

1

Tôi đã cố gắng này, nó chỉ làm việc tốt ..

<EditText 
     android:id="@+id/edt_mobile_no" 
     style="@style/login_input_fields" 
     android:hint="@string/hint_mobile" 
     android:inputType="phone" /> 

Đây dưới kiểu cho EditText

<style name="login_input_fields"> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">40dp</item> 
    <item name="android:layout_marginBottom">10dp</item> 
    <item name="android:background">@drawable/bg_curved_white_border</item> 
    <item name="android:paddingRight">10dp</item> 
    <item name="android:paddingLeft">10dp</item> 
    <item name="android:textColor">@android:color/white</item> 
    <item name="android:textColorHint">@color/underline</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:typeface">monospace</item> 
</style>