2012-08-24 61 views
0

我正在創建一個佈局,如下所示,但複選框元素在scren上我看不到錯誤?Android的某些視圖元素不可見

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

    <LinearLayout android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <SeekBar android:id="@+id/seek" 
      android:layout_width="300dip" 
      android:layout_height="wrap_content" 
      android:progress="50"/> 

     ...and a few more elements here. 

    </LinearLayout> 

    <CheckBox android:id="@+id/CheckBox" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:text="somestring" /> 

</LinearLayout> 

回答

1

CheckBoxLinearLayout有其高度設置爲MATCH_PARENT(和它填補了所有家長的高度)和父母雙方的LinearLayout有方向設置爲垂直,因此CheckBox被推出屏幕。

例如,將包含SeekBarLinearLayout的高度設置爲WRAP_CONTENT。如果你的LinearLayout它消耗的所有內容,所以WRAP_CONTENT最好設置match_parent layout_height = 「match_parent」

<LinearLayout android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight="1"> 

0

改變你的LinerLayout定義,它不可能是機器人。 但是,如果你將它設置爲我寫的複選框將在底部頁面的一個linearlayout將消耗屏幕的剩餘部分。

0

你需要設置你的內部線性佈局的高度和寬度來包裝內容。 試試這個。

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

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <SeekBar 
      android:id="@+id/seek" 
      android:layout_width="300dip" 
      android:layout_height="wrap_content" 
      android:progress="50" /> 
    </LinearLayout> 

    <CheckBox 
     android:id="@+id/CheckBox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="somestring" /> 

</LinearLayout> 
0

試試這個:

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

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="9" 
    android:orientation="horizontal" > 

    <SeekBar 
     android:id="@+id/seek" 
     android:layout_width="300dip" 
     android:layout_height="wrap_content" 
     android:progress="50" /> 
</LinearLayout> 

<CheckBox 
    android:id="@+id/CheckBox" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="somestring" /> 

</LinearLayout> 
0

在你的佈局選擇您想要的大小靈活的元素,比如高度明智的。然後製作其height="0dp"weight="1"。讓其餘元素的高度:height="wrap_content"

此外,您可能已經爲您的其他元素提供了一些dp的謹慎尺寸,因此它們的總高度用完了可用的屏幕空間,或者有太多的元素超出了屏幕高度。在這種情況下,將您的佈局包裝在ScrollView中。