Страница 1 из 1

Сделать фон приложения

Добавлено: 14 мар 2014, 07:23
tolyan
Скажите пожалуйста, как сделать фон програми.Я добавляю картинку в компонент ImageView
дальше я хочу сделать кнопку с изображением, для этого загружаю в компонент ImageButton картинку.Пры запуска невидно ImageButton, когда пробовал компонент ImageButton ставлять внутрь ImageView[1] тогда программа компилируется, но закрывается по какой-то ошибке.Подскажите пожалуйста, что можно сделать . Я недавно начал писать под андроид поэтому не судите слишком, спасибо!

пс.
[1]

Код: Выделить всё

   <ImageView
       android:id="@+id/image1"
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:src="@drawable/fon"> 

        <ImageButton
           android:id="@+id/imageButton1"
           android:layout_width="256dp"
           android:layout_height="212dp"
           android:layout_x="134dp"
           android:layout_y="487dp"
           android:src="@drawable/back" />
          
     </ImageView>


Re: Сделать фон приложения

Добавлено: 14 мар 2014, 09:34
rezak90
Потому что так нельзя делать, нельзя одно вью вставить в другое. Нужна разметка-контейнер (любой наследник от ViewGroup) в котором будет ImageView и ImageButton.

Re: Сделать фон приложения

Добавлено: 14 мар 2014, 18:20
tolyan
Извините, вот скриншот и полный код
заработало, правда не знаю уместно использовать RelativeLayout, возможно это нелучший вариант, но главное что работает.
Спасибо

Код: Выделить всё

<?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"
    android:gravity="center"
    android:orientation="vertical" >
    
   <ImageView
       android:id="@+id/image1"
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:src="@drawable/fon"
        
        />

           <ImageButton
               android:id="@+id/imageButton1"
               android:layout_width="256dp"
               android:layout_height="212dp"
               android:layout_alignParentBottom="true"
               android:layout_centerHorizontal="true"
               android:layout_marginBottom="33dp"
               android:src="@drawable/back" />
   
</RelativeLayout>

Re: Сделать фон приложения

Добавлено: 14 мар 2014, 20:13
vornic
Если я правильно вас понял, вы хотите задать фоновую картинку для своего RelativeLayout?
я как то тоже задавался таким вопросом и нашел вот такое решение:

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.bgnormal); // берем картинку из ресурса
BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
bitmapDrawable.setTileModeXY(android.graphics.Shader.TileMode.REPEAT, android.graphics.Shader.TileMode.REPEAT); // гшоворим обьекту как рисовать (у меня это повторяющийся фон)
layout.setBackgroundDrawable(bitmapDrawable); // задаём фон нашему лэйауту

Надеюсь что это то что вам нужно.

Re: Сделать фон приложения

Добавлено: 14 мар 2014, 21:54
tolyan
Скажите пожалуйста, как сделать, чтобы фон не повторялся

Re: Сделать фон приложения

Добавлено: 15 мар 2014, 05:08
siberprogs
tolyan писал(а):Извините, вот скриншот и полный код
заработало, правда не знаю уместно использовать RelativeLayout, возможно это нелучший вариант, но главное что работает.
Спасибо
Да без разницы какой Layout.
У любого Layout есть параметр - background.
[syntax=java]<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/fon" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="256dp"
android:layout_height="212dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="33dp"
android:src="@drawable/back" />
</RelativeLayout>[/syntax]
ImageView для этого не нужен.
А если нужно чтобы картинка не растягивалась на весь экран - внутрь одного layout можно вставить другой, и ему задать фон и нужные размеры.
У вас разве графический дизайнер не работает?

Re: Сделать фон приложения

Добавлено: 15 мар 2014, 19:07
tolyan
я именно так и сделал
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/fon" >

всем спасибо