ここで基本的な何かが欠けていると思います。あなたの誰かが助けることができるかどうか見てください。
テキストやその他のコントロールをロードしているアクティビティ(activity_story1)があります。すべてのコンポーネントをレイアウトする方法は、それらを LinearLayout 内の RelativeLayout のグループに配置し、それらの RelativeLayout に重みを割り当てたことです。以下のサンプル xml を参照してください。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Story1Activity"
android:id="@+id/StoryLinearLayout">
<TextView
android:id="@+id/titleStory"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.05"/>
<TextView
android:id="@+id/textViewStory1"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="0.90"/>
<LinearLayout
android:id="@+id/footerStoryLinearLayout"
android:layout_weight="0.05"
android:layout_width="fill_parent"
android:layout_height="0dip">
<RelativeLayout
android:id="@+id/footerStoryRelativeLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/PageCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="page count"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:onClick="addBookmark"
android:clickable="true"/>
</RelativeLayout>
</LinearLayout>
onCreate の上記のテキストビューにテキストを読み込んでいます。ここまでは順調ですね。
ユーザーが画面の配置を変更してもコンテンツは同じままで、テキストビューのコンテンツをリロードするために onCreate() が呼び出されないように、onConfigurationChanged() をオーバーライドしています。onConfigurationChanged() では、以下のコードを使用して、相対レイアウト「titleStoryRelativeLayout」の重みも変更しています。
//change the weight of the textview when screen alignment changes
LayoutInflater inflater = LayoutInflater.from(this);
LinearLayout ll = (LinearLayout)inflater.inflate(R.layout.activity_story1, null);
LinearLayout yourRL = (LinearLayout)ll.findViewById(R.id.footerStoryLinearLayout);
yourRL.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, 0.1f));
ただし、画面を再調整すると(onConfigurationChanged()が呼び出されたとき)、重量の変更が反映されないようです。変数 yourRL などが入力されていることがわかります。Relativelayout (titleStory TextView を保持する) の重みを変更する基本的な理由は、配置が変更されたときに、見やすくするために titleStory textview の高さを変更 (増加/減少) したいからです。上記の onConfigurationChanged() に入れたコードでは、重みが (0.05 から 0.01 に) 変更されることを期待していたため、テキストビューの高さも変更されているはずです。