2013-01-05 28 views
7

Tôi đang hiển thị chế độ xem văn bản (tôi dự định điền toàn bộ màn hình này trừ nút bên dưới) và nút (hình nhỏ ở dưới cùng) trong một hoạt động. Tôi muốn textview được đặt aove nút. Tôi không muốn hardcode bất kỳ chiều cao/chiều rộng.hiển thị textview phía trên một nút mà không cần mã hóa chiều cao trong xml

Do đó Đối với nút, tôi đã giữ chiều rộng quảng cáo chiều cao là word_wrap Đối với văn bản, tôi đã giữ chiều rộng làm phụ huynh lấp đầy.

Những gì tôi muốn biết là, có anyway bởi whcih tôi có thể chỉ định chiều cao textview được chiều cao screenheight-nút. Tôi muốn điều này trong tập tin xml nhưng không dnamically bên trong mã của tôi.

+0

đặt mã của bạn ở đây –

Trả lời

5

Để đạt được điều này bạn phải tạo một cái gì đó như thế này:

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

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/button1" 
     android:text="TextView" /> 

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

</RelativeLayout> 

và bạn có một TextView mà sẽ ở lại trên nút của bạn và sẽ vừa với toàn bộ màn hình.

+0

thanks a lot. Tôi đã có hai nút (cả hai wrap_text) ở phía dưới, do đó đề xuất của bạn làm việc tốt nhất so với hai câu trả lời khác mà tôi đã nhận được. Hai người kia cũng sẽ làm việc với một chút tinh chỉnh tôi đoán. – user1938357

+0

bất kỳ ý tưởng làm thế nào bây giờ tôi có thể nhận được chiều cao của textview trong phương pháp onCreate? textview.getHeight() không hoạt động như các tài nguyên chưa sẵn sàng trước khi thực thi onCreate được sử dụng để đặt nội dung của hoạt động. – user1938357

+0

điều này có thể cung cấp cho bạn câu trả lời đúng, tôi đoán: http://stackoverflow.com/questions/4142090/how-do-you-to-retrieve-dimensions-of-a-view-getheight-and-getwidth-always-r/4406090 # 4406090 – hardartcore

0

Sử dụng RelativeLayout, đặt kích thước của chế độ xem văn bản thành fill_parent, sau đó đặt nút bên dưới nó, nút thiết lập android: layout_below = "@ + id/textview" và kích thước của nút là wrap_content.

Kiểm tra kết quả trong thiết kế trực quan hoặc trong thiết bị, cần làm việc

0

Bạn có thể sử dụng thuộc tính layout_weight

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" 
     android:text="TextView" /> 

    <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

</LinearLayout> 
Các vấn đề liên quan