0

ScrollView を画面全体に表示し、Relative レイアウトを ScrollView の中央に配置してコンテンツを中央に配置するか、ScrollView を埋めてそのコンテンツを中央に配置したいと考えています。scrollView は、アプリが小さな画面で実行される場合に備えてあります。

RelativeLayout だけをルートとして効果を達成しましたが、scrollView をラッパーとして追加すると、中央に配置できず、RelativeLayout が一番上に追加されます。RelativeLayout の layout_height を変更しようとしましたが、これも機能せず、警告が表示されます。

面白いことに、Eclipse 内のグラフィカル レイアウトでは問題なく表示されます。

<ScrollView 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=".MainActivity" >

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fillViewport="true"
    android:gravity="center" >
....
4

4 に答える 4

4

苦労の末、これが最終的に機能しました。

<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"
android:gravity="center"
tools:context=".MainActivity" >

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >
于 2013-01-31T01:50:46.487 に答える
3

RelativeLayout中央に配置できる LinearLayoutの中にいつでも配置できます。

あなたが抱えている問題は、 の重力属性がないことです。そのため、重力を受け入れるScrollView内に別のレイアウトが必要です。ScrollView

<ScrollView 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=".MainActivity" >

  <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_gravity="center"
        android:gravity="center">

     <RelativeLayout
         android:id="@+id/RelativeLayout1"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:fillViewport="true"
         android:gravity="center" >
      </RelativeLayout>
   </LinearLayout>
</ScrollView>
于 2013-01-30T23:50:09.377 に答える
0

rootview既存の RelativeLayout のいずれかRelativeLayoutまたは内部に別のLinearLayout,を配置し、それらの属性を新しいものに追加します。

android:layout_height="wrap_content" 
android:layout_centerVertical="true"
于 2013-01-31T01:31:17.250 に答える
0

ScrollViewとの両方の高さと幅を変更してみてRelativeLayoutくださいfill_parent。これが機能しない場合は、xml ファイル全体を投稿してください。

于 2013-01-30T23:40:59.540 に答える