2015-04-20 43 views
0

我希望佈局在圖像上方滾動,其工作正常,但我需要圖像也可點擊。如何實現這一目標?佈局在圖像視圖上方滾動

CODE:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <FrameLayout 
     android:id="@+id/frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <ImageView 
      android:id="@+id/article_image" 
      android:layout_width="match_parent" 
      android:layout_height="250dp" 
      android:layout_gravity="top" 
      android:scaleType="fitXY" 
      android:src="@drawable/ic_launcher" /> 

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

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       **android:paddingTop="150dp"** 
       android:orientation="vertical" > 

       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/hello_world" /> 

       ...so may views... 
      </LinearLayout> 
     </ScrollView> 

    </FrameLayout> 

</LinearLayout> 

,因爲我已經添加android:paddingTop="150dp"佈局滾動圖像上方,但圖像是如何將現在可以點擊?

+0

刪除FrameLayout –

+0

@PiotrGolinski在這種情況下,ImageView將在最上面,佈局將在下面。 – user2056563

+0

你關閉了FrameLayout嗎? –

回答

0

第一次嘗試在XML文件中添加此您現有的框架佈局之下:

<LinearLayout 
    //set id here 
    > 
     <ImageView 
       android:id="@+id/article_image" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       android:layout_gravity="top" 
       android:scaleType="fitXY" 
       android:src="@drawable/ic_launcher" /> 

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

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        **android:paddingTop="150dp"** 
        android:orientation="vertical" > 

        <TextView 
         android:id="@+id/textView1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/hello_world" /> 

        ...so may views... 
       </LinearLayout> 
      </ScrollView> 
</LinearLayout> 

這是你的佈局,但沒有框架佈局的副本時,你永遠需要的圖像可以點擊你將使用。 然後在語法上隱藏這個你onCreate() 則:
刪除框架佈局programitaclly當過你所需要的圖像可以點擊,使您的佈局的副本可見,這裏是如何將您的框架佈局可見性設置爲不見了: 所以定義的幀結構爲您的類的實例,並將其設置爲你的框架佈局ID和當過你需要使圖像點擊添加:

frmLayout.setVisibility(FrameLayout.GONE); 

llLayout.setVisibility(LinearLayout.VISIBLE); 

希望這將他幫你。

0

請問你能更新你的xml嗎?你可以輕鬆點擊imageview。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/LinearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <FrameLayout 
      android:id="@+id/frame" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <ImageView 
       android:id="@+id/article_image" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       android:layout_gravity="top" 
       android:scaleType="fitXY" 
       android:src="@drawable/ic_launcher" /> 

      <ScrollView 
       android:layout_width="match_parent" 
       android:layout_height="100dp" 
       android:layout_gravity="bottom"> 

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

        <TextView 
         android:id="@+id/textView1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="@string/hello_world" /> 

        ...so may views... 
       </LinearLayout> 
      </ScrollView> 

     </FrameLayout> 

    </LinearLayout> 
+0

我試過你的代碼,這將修復滾動視圖的高度,圖像視圖應該ontop和scollview應滾動圖像視圖上方並填充整個屏幕,我希望它清楚。 – user2056563

+0

@ user2056563好吧,我明白了。 這個庫的幫助https://github.com/ksoichiro/Android-ObservableScrollView – mustafasevgi

0

嘗試與相對父項,並添加您在滾動視圖後的imageview。同樣給填充頂部的圖像高度相同的大小。

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

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

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:paddingTop="250dp"> 


       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Hello" /> 

      </LinearLayout> 
     </ScrollView> 

    <ImageView 
     android:id="@+id/article_image" 
     android:layout_width="match_parent" 
     android:layout_height="250dp" 
     android:layout_gravity="top" 
     android:scaleType="fitXY" 
     android:focusable="true" 
     android:clickable="true" 
     android:src="@drawable/back" /> 

</RelativeLayout> 
+0

我想我錯過了在這裏添加framelayout,但實際上framelayout不需要任何更多 – Abhishek