Tôi đang cố thay đổi bố cục tuyến tính hoặc bất kỳ chiều rộng hoặc chiều cao tiện ích con nào khác nhưng lại ném ngoại lệ.Tự động thay đổi chiều rộng hoặc chiều cao của linearlayout trên Android
bố trí của tôi là:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/abc"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="ghghjkgj ghjg hjgj ghj g hjgjgh jhg "
/>
</LinearLayout>
và hoạt động của tôi là:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout ll = (LinearLayout)findViewById(R.id.abc);
ll.setLayoutParams(new LinearLayout.LayoutParams(30,60));
}
Ném ngoại lệ sau đây:
E/AndroidRuntime(16052): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
E/AndroidRuntime(16052): at android.widget.FrameLayout.onLayout(FrameLayout.java:288)
E/AndroidRuntime(16052): at android.view.View.layout(View.java:7035)
E/AndroidRuntime(16052): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
E/AndroidRuntime(16052): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
E/AndroidRuntime(16052): at android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
E/AndroidRuntime(16052): at android.view.View.layout(View.java:7035)
E/AndroidRuntime(16052): at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime(16052): at android.view.View.layout(View.java:7035)
E/AndroidRuntime(16052): at android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
E/AndroidRuntime(16052): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
E/AndroidRuntime(16052): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(16052): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(16052): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(16052): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(16052): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(16052): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(16052): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(16052): at dalvik.system.NativeStart.main(Native Method)
Vậy làm thế nào tôi có thể thay đổi kích thước động?
cảm ơn rất nhiều ....... nó rất hữu ích cho tôi nhưng làm thế nào tôi có thể xác định cha mẹ của linearlayout. – Pratique