2012-03-22 9 views
0

LinearLayoutの近くに画像を表示したいとします。私は、次のことをしたい:LinearLayoutの近くにimageViewを表示

+---------------------------------------------------+ 
|             | 
|textView1  +------------+      | 
|button1   |imageView1 |      | 
|    |   |      | 
|    |   |      | 
|    |   |      | 
|    +------------+      | 
|             | 
|             | 
|             | 
+---------------------------------------------------+ 

しかし、このコードで:

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

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="96dp" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button" /> 

    </LinearLayout> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/picture" /> 

</LinearLayout> 

私はおそらく(私は絵が表示されない)のようなものを得る:

どう
+---------------------------------------------------+ 
|             | 
|textView1           | 
|button1           | 
|             | 
|             | 
|             | 
|             | 
|             | 
|             | 
|             | 
+---------------------------------------------------+ 
imageView1 

私はそれを解決することはできますか?前もって感謝します。

答えて

2

これを管理するには、RelativeLayoutを使用する必要があります。

<TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 


<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/picture" /> 

<?xml version="1.0" encoding="utf-8"?> 

は今、すべてがトップ画面にあります。必要に応じてすべての設定を試してください。

+0

おかげで、それが働きました。 'LinearLayout'でこれを行う方法がないのは確かですか? –

+0

ありますが、1つのレイアウトビューのインスタントは2/3になります。 LinearLayout Horizo​​ntalの向きを変更するだけです。 – goodm

1

のLinearLayoutプット・ビューのいずれか垂直または水平ためです。これを実現するには、RelativeLayoutを使用する必要があります。あなたのImageViewの

設定android:layout_centerInParent="true"RelativeLayoutを使用して、それが魔法

0

あなたは内のあなたのImageViewを含める必要があり、次のコード

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="96dp" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

</LinearLayout> 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/picture" 
    android:totheRightof=android:id="@+id/linearLayout1" 
    android:marginLeft="20dp"/> 

+0

私は 'android:totheRightof = android:id =" @ + id/linearLayout1 "が何をすべきか分かりません。現在のところ、エラーが発生し、この 'totheRightof'オプションのようなものは見つかりませんでした。 –

0

を使用して操作を行いますあなたが望むものを達成するためのレイアウト..

あなたがRelativeLayoutを使用する場合ofcourseのあなたがより良い行うことができます、あなたはImageViewLinearLayoutの一部になりたいというのAndroidを伝えるので、ここで、このXMLファイルの代わりに

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

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="96dp" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_gravity = "center" 
     android:layout_marginBottom = "40dp" 
     android:layout_height="wrap_content" 
     android:src="@drawable/picture" /> 

</LinearLayout> 

</LinearLayout> 

を試してみて、これは解決策でしたあなたの問題。

EDIT:

あなたはここに、同じを達成するための相対的なレイアウトを使用する場合の方法です。..

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

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_marginTop="40dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button" /> 
    </LinearLayout> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="50dp" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/ic_launcher" /> 

</RelativeLayout> 
+0

可能であれば、余分なLinearLayoutを削除してください。 –

+0

ありがとうございますが、このコードではすべてが1つの狭い列に表示されていますが、これは必要なものではありません。 「RelativeLayout」が最も適切な解決策だと思われる。 –

関連する問題