【问题标题】:Android adding view programmatically not listening to attributesAndroid以编程方式添加视图不听属性
【发布时间】:2014-08-27 05:52:27
【问题描述】:

我正在尝试以编程方式添加。这是父视图。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/test" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal" >

</LinearLayout> 

这是要添加的视图。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp"
    android:layout_centerHorizontal="true" >

    <TextView
        android:id="@+id/textview"
        android:text="TEST"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</RelativeLayout>

这里是代码。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    View view = inflater.inflate(R.layout.test, container, false);

    LinearLayout linear = (LinearLayout) view.findViewById(R.id.test);  
    RelativeLayout layout;
    ImageView image;
    TextView text;
    LayoutParams lp;

    layout = (RelativeLayout) inflater.inflate(R.layout.test_row, null, false);
    linear.addView(layout);
    return view;
}

它添加了视图,但它没有居中并且它也忽略了 topmargin 属性。我做错了什么?

答案:我在用容器填充视图时替换了 null,成功了。

【问题讨论】:

    标签: android android-layout android-xml


    【解决方案1】:

    这似乎是重复的,您需要做的就是指定父视图,而不是稍后将其添加到父视图。希望这可以帮助。看 Layout params of loaded view are ignored

    【讨论】:

    • 谢谢!我在夸大自己的观点时错过了一个论点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多