2014-03-17 6 views
1

Когда я использую Scrollview в своих кодах, мое фоновое изображение растягивается и прокручивается с помощью кнопок. Я хочу, чтобы только кнопки прокручивались, а не фон. Я добавил связанный образ, чтобы понять это. Вот XML-файл:Исправить фоновое изображение на Scrollview Android

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:background="@drawable/back" 
        android:orientation="vertical" > 


     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/app" 
       android:layout_gravity="center" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 

       /> 

     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/moshiri" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 
     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 

       android:id="@+id/about" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 
     <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 

       android:id="@+id/exit" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 

    </LinearLayout> 
</ScrollView> 

enter image description here

ответ

2

Установите фоновое изображение на ScrollView и добавьте Padding к ScrollView или поля Linningayout.

+0

, пожалуйста, дайте пример кода –

3

сделать 1 LinearLayout в корне вместо Scrollview и use android:background="@drawable/back" в этой компоновке, как

<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:background="@drawable/back" > 

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

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/back" 
      android:orientation="vertical" > 


      <ImageButton 
       android:id="@+id/app" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginLeft="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginTop="80dp" 
       android:background="@drawable/bluebutton" /> 

      <ImageButton 
       android:id="@+id/moshiri" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginTop="8dp" 
       android:background="@drawable/bluebutton" /> 

      <ImageButton 
       android:id="@+id/about" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginTop="8dp" 
       android:background="@drawable/bluebutton" /> 

      <ImageButton 
       android:id="@+id/exit" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginTop="8dp" 
       android:background="@drawable/bluebutton" /> 
     </LinearLayout> 
    </ScrollView> 


</LinearLayout> 

Здесь я предполагаю, что ваш @drawable/back это ваш дал image background

+0

Я хочу кнопки прокрутки. –

+0

проверить отредактированный ответ – NullPointerException

+0

Фон растягивается и прокрутки еще. Ничего не изменилось. –

0

Как сказал Раанан, установите фоновое изображение на ScrollView, но чтобы предотвратить разворот фонового изображения на разных размерах экрана, вы можете добавить к нему гравитацию.

<?xml version="1.0" encoding="utf-8"?> 
<bitmap 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:src="@drawable/back" 
android:gravity="top" /> 
+0

Для чего этот код? Я ничего не вижу в своем макете и сбоях приложений. –

+0

не работает со мной –

6

Эта вещь работала отлично для меня.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
     <ImageView 
      android:id="@+id/gearImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:clickable="true" 
      android:src="@drawable/imageName" /> 

</ScrollView> 
+0

В этом разделе рассказывается о времени входа в систему, но спасибо, что ответили в любом случае чуваком. –

0

Это сработало для меня. Изображение было изменено автоматически и наполнил весь фон (скорректированный по ширине и обрезано по высоте.)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:scaleType="centerCrop" 
      android:src="@drawable/app_back_image" /> 
    </RelativeLayout> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:isScrollContainer="true"> 
     ... 
    </ScrollView> 
</RelativeLayout> 
0

ли это,

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:background="@drawable/back" 
      android:layout_height="match_parent"> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" > 


     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/app" 
       android:layout_gravity="center" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="80dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 

       /> 

     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/moshiri" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 
     <ImageButton 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 

       android:id="@+id/about" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 
     <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 

       android:id="@+id/exit" 
       android:background="@drawable/bluebutton" 
       android:layout_marginTop="8dp" 
       android:layout_marginRight="80dp" 
       android:layout_marginLeft="80dp" 
       /> 

    </LinearLayout> 
</ScrollView> 
Смежные вопросы