2013-02-09 29 views
0

我有這個非常簡單的佈局, 2按鈕,複選框,seekbar和一些文本.. 它目前在LinearLayout和我只能使用屏幕的一半,5-6行最大。 我試圖將按鈕拖到buttom,但我不能。就像它們卡在只覆蓋屏幕上半部分的框架中一樣。任何建議如何解決這個問題?使用LinearLayout的整個屏幕的問題

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/statusText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/timerText" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="31dp" 
     android:text="@string/statusText" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <CheckBox 
     android:id="@+id/timerCB" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/timerTime" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="44dp" 
     android:onClick="activateTimer" 
     android:text="@string/timerCB" /> 

    <Button 
     android:id="@+id/stop_button" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_marginBottom="20dp" 
     android:onClick="stopOperation" 
     android:text="@string/stop_button" /> 

    <Button 
     android:id="@+id/start_button" 
     android:layout_width="319dp" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/stop_button" 
     android:layout_alignParentRight="true" 
     android:onClick="startOperation" 
     android:text="@string/start_button" /> 

    <TextView 
     android:id="@+id/timerText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/statusText" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="71dp" 
     android:enabled="false" 
     android:text="@string/timerText" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <SeekBar 
     android:id="@+id/timerTime" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/timerText" 
     android:layout_marginTop="32dp" 
     android:enabled="false" 
     android:max="90" /> 

</RelativeLayout> 

我logcat的是這樣的:

02-09 17:01:41.107: E/AndroidRuntime(12469): FATAL EXCEPTION: main 
02-09 17:01:41.107: E/AndroidRuntime(12469): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.remoteswitch/com.example.remoteswitch.MainActivity}: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.CheckBox 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.os.Looper.loop(Looper.java:137) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread.main(ActivityThread.java:5039) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at java.lang.reflect.Method.invokeNative(Native Method) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at java.lang.reflect.Method.invoke(Method.java:511) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at dalvik.system.NativeStart.main(Native Method) 
02-09 17:01:41.107: E/AndroidRuntime(12469): Caused by: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.CheckBox 
02-09 17:01:41.107: E/AndroidRuntime(12469): at com.example.remoteswitch.MainActivity.allocatePointers(MainActivity.java:60) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at com.example.remoteswitch.MainActivity.onCreate(MainActivity.java:42) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.Activity.performCreate(Activity.java:5104) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
02-09 17:01:41.107: E/AndroidRuntime(12469): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
+0

你必須做什麼? – Kels 2013-02-09 15:12:36

+0

請顯示您的代碼的一部分... – 2013-02-09 15:27:14

+0

我添加了佈局xml。請諮詢 – buddy123 2013-02-09 16:36:57

回答

0

對於外部的LinearLayout你試過

android:layout_height="match_parent" 

而且我可以問你爲什麼選擇

android:layout_height="0dp" 

爲你的widget ?有沒有理由不使用「wrap_content」或非零值?

+0

我不太熟悉佈局編碼。我只是試圖以可視化的方式使用它,而不是xml方式。我刪除了0dp行並將其更改爲wrap_content,即使是強悍的im也不確定其效果。我仍然不能移動東西 – buddy123 2013-02-09 16:51:12

+0

你是什麼意思,移動東西? – 2013-02-09 16:51:47

+0

將屏幕上的按鈕拖動到我想要的位置。在LinearLayout中,只有屏幕的上半部分可以工作。我試圖回到相對,這有點煩人,因爲一切都依賴於其餘,但找到我想要的位置後,應用程序崩潰。我將xml上傳到主文章。它說錯了複選框,但我不明白究竟是什麼。我在佈局視圖中所做的所有更改。 – buddy123 2013-02-09 17:02:56