2017-05-02 6 views
1

私は3つの子供の線形レイアウトが縦向きの親線形レイアウトのxmlスクリーンを持っています。最初の子には画像ビューが含まれています。アプリケーションを実行すると、画像は表示されません。どうして?画像サイズが大きすぎますか?もしそうなら..それをどのようにスケールするのですか?しかし、イメージは私のデザインタブで見ることができます。 android stdudioの以下はXMLファイルの完全なコードです。イメージを線形レイアウトの中心に合わせるにはどうすればいいですか?

<?xml version="1.0" encoding="utf-8"?> 
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
    android:id="@+id/activity_sign_up" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:paddingBottom="@dimen/activity_vertical_margin" 
 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
 
    android:paddingRight="@dimen/activity_horizontal_margin" 
 
    android:paddingTop="@dimen/activity_vertical_margin" 
 
    tools:context="com.example.root.my_laoder.SignUp" 
 
    android:orientation="vertical"> 
 

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

 
     <ImageView 
 
     android:layout_width="match_parent" 
 
    android:layout_height="wrap_content" 
 
    android:layout_gravity="center" 
 
    android:adjustViewBounds="true" 
 
    android:scaleType="centerInside" 
 
    android:src="@drawable/ty" 
 
     /> 
 

 
    </LinearLayout> 
 

 
    <LinearLayout 
 
     android:layout_width="match_parent" 
 
     android:layout_height="wrap_content" 
 
     android:layout_centerInParent="true" 
 
     android:orientation="vertical" 
 
     android:paddingTop="50dp" 
 

 

 
     > 
 

 

 
     <EditText 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:inputType="textEmailAddress" 
 

 
      /> 
 

 
     <EditText 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:inputType="textPassword" 
 

 
      /> 
 

 
     <EditText 
 
      android:layout_width="match_parent" 
 
      android:layout_height="wrap_content" 
 
      android:inputType="number" 
 

 
      /> 
 
    </LinearLayout> 
 

 
    <LinearLayout 
 
    android:layout_width="match_parent" 
 
    android:layout_height="wrap_content" 
 
     android:orientation="horizontal" 
 
     android:paddingTop="50dp" 
 
     > 
 

 
    <Button 
 
     android:text="Button" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_weight="0.5"/> 
 

 
    <Button 
 
     android:text="Button" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:layout_weight="0.5" 
 

 
     /> 
 

 
</LinearLayout> 
 

 

 
</LinearLayout>

+0

を'heightとwidth'の両方に対して' wrap_content'を実行してください。 –

+0

私はそれをやったし、私も編集したコードをscaletypeでチェックしようとしました。結果はありません:( –

+0

あなたがスナップショットを提供できるなら、もっと簡単になります。また、画像の中央に合わせるには、imageviewを含む線形レイアウトに 'android:gravity =" centre_vertical | centre_horizo​​ntal "'を入れなければなりません –

答えて

2

中心にImageViewを表示するには、LinearLayoutに属性android:gravity="center_horizontal"を追加します。

android:layout_width="wrap_content"から

2.更新ImageView幅や属性android:layout_gravity="center"を削除します。

3.代わりandroid:scaleType="centerInside"

の使用android:scaleType="fitXY"これを試してみてください:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_sign_up" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:scaleType="fitXY" 
      android:src="@drawable/ty" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:orientation="vertical" 
     android:paddingTop="50dp"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPassword" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="number" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:paddingTop="50dp"> 

     <Button 
      android:text="Button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.5" /> 

     <Button 
      android:text="Button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.5" /> 

    </LinearLayout> 
</LinearLayout> 

OUTPUT:あなたのImageViewので

enter image description here

+0

このibmイメージは大きなイメージであるとします。このように中央に配置されますか?画面で調整する? –

+0

私はこの問題を解決したと思うが、私のアプリはメモリ不足の時に読み込み時にクラッシュする。私のイメージは大きすぎると思います。これをどう扱う? PLease –

+0

GlideまたはPicassoを使用して大きな画像を読み込むことができます。あなたのロゴに小さなイメージを使用する必要はありません。私は500 * 400の画像を使用しました – FAT

0

これらのパラメータのdimens値は何ですか?

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 

なぜ、親レイアウトが線形であってもimageViewに別の線形レイアウトを使用しているのはなぜですか?

は親切

はあなたがImageViewの中にバックグラウンドとして使用している画像のサイズをチェックしていることを削除しますか?もしあなたのビューの残りの部分をscreen.tryから外して固定幅と高さを与えてみましょう。両者とも100dpと言い、あなたが何かを見ることができるかどうかを見てみましょう。

あなたはImageViewのセンターを作りたい場合は、水平方向ImageViewのための独立した線形レイアウトでは動作しません

android:layout_gravity="center_horizontal" 

コードの線の上ImagViewビューに使用します。重力=「center_horizo​​ntal」

注:あなたがとにかくImageViewのためのつもり使用別のレイアウトであれば、

アンドロイドというのLinearLayout内のコードの行の下に使用し、私はコメントを残しすることはできませんごめんなさい。

0

は、あなたのImageViewのためにこれを試してみてください:

<ImageView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:adjustViewBounds="true" 
      android:scaleType="centerInside" 
      android:src="@android:drawable/btn_minus" /> 
+0

https://imagebin.ca/v/3L6C3tyxYASYこれは私のデザインタブビューです。しかし、なぜ私のアンドロイドアプリケーションがこのロゴの代わりに空白を表示しているのかわかりません。ページの残りの部分は素晴らしいです。 。 教えてくれますか??私もコードの部分を使用して見てください –

+0

ImageViewに固定された高さを与えるようにしてください。 – Sac

+0

が試行されましたが、何も起こりません。それは良い習慣ではありません。もう一つは、私も、うまく動作している別の画像を使ってみました。ちょうどこの魔法のイメージ –

関連する問題