1

スプラッシュスクリーンのアクティビティでLinearLayoutの背景としてイメージを使用しましたが、画面には表示されません。私はそれを伸ばすために属性を使う方法を知らない。LinearLayoutのスプラッシュスクリーンイメージの背景が合わない

<?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_splash" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.myproject.SplashActivity" 
    android:orientation="horizontal" 
    android:background="@drawable/my_image_background"> 

</LinearLayout> 

答えて

1

適切な方法は、これがそう代わりにこれを使用され、あなたのstyles.xmlでこれを追加します。

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/splash</item> 
</style> 

をそして、あなたのマニフェストファイルに追加します。この

<activity 
     android:name=".SplashActivity" 
     android:theme="@style/SplashTheme"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

と描画可能@

/スプラッシュは次のようになります

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque"> 
    <!-- The background color, preferably the same as your normal theme --> 
    <item android:drawable="@drawable/splashscreen"/> 
    <!-- Your product logo - 144dp color version of your app icon --> 
    <item> 
     <bitmap 
      android:src="@drawable/splash_logo" 
      android:gravity="center"/> 
    </item> 
</layer-list> 
1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/dighsplash"> 
</LinearLayout> 

このようにしてください。使用ImageViewのとuse属性scaleType .Thisが自動的に任意の画面解像度に合う

1
<?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_splash" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.myproject.SplashActivity" 
    android:orientation="horizontal" 
    android:background="@drawable/my_image_background"> 
    <ImageView 
     android:scaleType="fitXY" 
     android:src="@drawable/my_image_background" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
</LinearLayout> 

-----更新-------

ので(RelativeLayoutを使用することができ、レイアウトに複数のビューを追加したい場合は、それ以外Ahamedによって提案され、その優れたとおりあなたのビューをスタックするでしょう)。RelativeLayoutの以下の実装を考慮してください。

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:id="@+id/activity_splash" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <ImageView 
      android:scaleType="fitXY" 
      android:src="@drawable/my_image_background" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
      <!-- Add other views depending on your screen specs --> 
    </RelativeLayout> 
+0

彼は背景イメージが必要です。 Linearlayoutでイメージビューを設定したら、残りのレイアウトをどのように配置できますか?説明していただけますか? – Noorul

+0

@Ahamed私はちょうどスプラッシュ画面の一般的な例を与えました。 LinearLayoutの代わりにRelativeLayoutを使用して、あなたが述べた問題を解決することができます。 –

+1

はい。できたね。それは有り難いです。しかし、いくつかの新しい基本プログラマーは、次に何をすべきかを知らない。そうすれば、より良い評判を得ることができます。 – Noorul

1

画像のためのImageViewのを使用することをお勧めので、あなたが期待通りに動作しshoul &次のように私はあなたのレイアウトを変更しました。

0

scaleType = "fitxy"がimageviewで機能しない場合は、次のようにお試しください。

アンドロイド:間違いなくあなたの画面に合わせ

<?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_splash" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.myproject.SplashActivity" 
android:fitSystemWindows="true" 
android:orientation="horizontal" 
android:scaleType="fitXY" 
android:background="@drawable/my_image_background"> 

このコード:

<?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_splash" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.myproject.SplashActivity" 
android:orientation="horizontal" 
android:background="@drawable/my_image_background" 
android:fitSystemWindows="true"> 
+2

ここで必要なのはfillviewport = trueです。私はそれがscrollviewプロパティだと思います。あなたの答えを編集してください。 – Noorul

+0

はい、あなたは正しいです。ありがとう – Pehlaj

1

= "true" をfitSystemWindowsはこれを使用します。

1

まずuがあまりにもこれをチェックしてください::: Showing Splash screen in android apps

を過ぎ

<?xml version="1.0" encoding="utf-8"?> 
     <RelativeLayout   xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:id="@+id/activity_splash" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      tools:context="com.myproject.SplashActivity" 
      android:orientation="vertical" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentBottom="true" 
      android:background="@drawable/my_image_background"> 

     </RelativeLayout> 

をこのコードを試すことができ、他の...画像my_image_backgroundが側面上の任意の空白がない.IFた、あなたのコードが動作確認してください

関連する問題