這裏的問題我不明白在這兩種情況下相同的輸出視圖的結果,我想解決的情況下1得到相同的輸出結果的情況下2:膨化的TextView和LinearLayout中編程
- TextView的充氣和linearlayout,然後以編程方式將textview添加到linearlayout。
- 將textview添加到xml中的linearlayout。
代碼和輸出對於情況1:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</LinearLayout>
text_view.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:textColor="#000000"
android:text="1"
android:textSize="20sp"
android:background="#AAAAAA"
android:gravity="center"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="2dp"
android:layout_marginRight="2dp"
/>
在LayoutTestActivity.java
onCreate方法public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout lt = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);
TextView tv = (TextView) getLayoutInflater().inflate(R.layout.text_view, null);
lt.addView(tv);
setContentView(lt);
}
輸出視圖(不正確)
代碼和輸出對於情況2:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textColor="#000000"
android:text="1"
android:textSize="20sp"
android:background="#AAAAAA"
android:gravity="center"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="2dp"
android:layout_marginRight="2dp"
/>
</LinearLayout>
在LayoutTestActivity.java
onCreate方法public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
輸出視圖(正確)
我認爲它會自動發生在第一個案例中,因爲他從設置了layoutparams的xml中擴充視圖。 – Raz
Dimitris Makris,你的答案是工作,但拉茲說,它應該會自動發生。我希望有另一種解決方案。謝謝你們。 – thalsharif