0

我想在运行时将 imagview 和 textview 的大小设置为总屏幕宽度的一半。但它不能正常工作。设置总屏幕宽度的一半后,Imageview 显得很小。

请帮我解决这个问题。我从上 1 天开始尝试这个,但无法识别问题。

提前致谢。

在此处输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/light_white" >

<RelativeLayout
    android:id="@+id/relativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/light_white" >

    <TextView
        android:id="@+id/noticeHeading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="15dip"
        android:layout_marginTop="25dip"
        android:textColor="@color/black"
        android:textSize="18dip" />

    <TextView
        android:id="@+id/noticeContent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/noticeHeading"
        android:layout_below="@id/noticeHeading"
        android:layout_marginTop="20dp"
        android:textColor="@color/black"
        android:textSize="16dip" />

    <ImageView
        android:id="@+id/noticeImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/noticeHeading"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:layout_toRightOf="@id/noticeHeading" />
</RelativeLayout>
</ScrollView>

代码:

View rootView = inflater.inflate(res, container, false);
noticeHeaderTextView = (TextView)rootView.findViewById(R.id.noticeHeading);

noticeContentTextView = (TextView)rootView.findViewById(R.id.noticeContent);

noticeImageView = (ImageView)rootView.findViewById(R.id.noticeImageView);

DisplayMetrics metrics = getResources().getDisplayMetrics();
int width = metrics.widthPixels;


noticeImageView.getLayoutParams().width = width / 2;
noticeHeaderTextView.getLayoutParams().width = width / 2;
noticeContentTextView.getLayoutParams().width = width / 2;
4

1 回答 1

0

使用线性布局并将您的相对布局放入其中,而不是将 set layout_weight 设置为 0.5 用于您的相对布局。在 textview 和 imageview 中应用 match_parent 作为高度。希望这会奏效。如果这将在 xml 中工作,您可以通过 LayoutPerameter 类动态地执行相同的操作。

于 2013-06-26T10:09:25.850 回答