2016-12-22 11 views
0

アンドロイドのレイアウトに関する質問があります。私は私が探しているものを達成することができず、私はある方向性が必要です。 私はScroll Viewレイアウト内にあるレイアウトを探しています。説明するのは難しいが、絵は千語に相当する。 enter image description hereAndroidのスクロールビューとレイアウトの問題

私はこれをスクロールビューの内側にしたいのですが、助けてください。

+0

画像ビューをスクロールビュー内に表示しますか?または、スクロールビュー内のレイアウト全体? –

答えて

0

あなたは、これはあなたがこれを試してみてくださいするレイアウトであるよりも、動的に画像を追加したくない場合。

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ScrollView 
     android:id="@+id/sv" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:id="@+id/linMain" 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal"> 

      <RelativeLayout 
       android:id="@+id/lin1" 
       android:layout_width="100dp" 
       android:layout_height="match_parent" 
       android:layout_margin="10dp"> 

       <ImageView 
        android:id="@+id/imgView1" 
        android:layout_width="100dp" 
        android:layout_height="100dp" 
        android:background="@android:color/holo_purple" /> 

       <ImageView 
        android:id="@+id/imgView2" 
        android:layout_width="100dp" 
        android:layout_height="100dp" 
        android:layout_below="@id/imgView1" 
        android:layout_marginTop="20dp" 
        android:background="@android:color/holo_red_light" /> 

       <ImageView 
        android:id="@+id/imgView3" 
        android:layout_width="100dp" 
        android:layout_height="100dp" 
        android:layout_below="@id/imgView2" 
        android:layout_marginTop="20dp" 
        android:background="@android:color/holo_green_light" /> 

       <ImageView 
        android:id="@+id/imgView4" 
        android:layout_width="100dp" 
        android:layout_height="100dp" 
        android:layout_below="@id/imgView3" 
        android:layout_marginTop="20dp" 
        android:background="@android:color/holo_blue_light" /> 
      </RelativeLayout> 

      <LinearLayout 
       android:id="@+id/lin2" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_margin="10dp" 
       android:orientation="vertical"> 

       <WebView 
        android:id="@+id/webView" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_toRightOf="@id/linImages"></WebView> 

      </LinearLayout> 


     </LinearLayout> 

    </ScrollView> 

</RelativeLayout> 

ここで私は、このレイアウトUIのスクリーンショットを添付しています。

enter image description here

+0

それは動作します!驚くばかり! – sohail

0

はこれを試してみてください、私は activity_main)2つのレイアウト..

1を作ったのGridViewとWebViewの入っています。

2)activity_gridviewには、gridviewで膨らんだイメージビューが含まれています。

BaseAdapterを使用してGridviewに画像を動的に追加しました。

MainActivityでは、私はそのアダプタをGridViewに設定しました。このコードを一度試してみてください。

activity_main.xml:

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

    <ScrollView 
     android:id="@+id/scrollView" 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="false" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:id="@+id/linImages" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

      <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/grid" 
       android:layout_width="100dp" 
       android:layout_height="match_parent" 
       android:numColumns="1"></GridView> 

      <WebView 
       android:id="@+id/webView" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_toRightOf="@id/linImages"></WebView> 
     </LinearLayout> 


    </ScrollView> 

</RelativeLayout> 

activity_gridview.xml:

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

    <ImageView 
     android:id="@+id/imgView1" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:background="@drawable/star2" /> 

    <ImageView 
     android:id="@+id/imgView2" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:background="@drawable/star1" /> 

    <ImageView 
     android:id="@+id/imgView3" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:background="@drawable/star3" /> 

    <ImageView 
     android:id="@+id/imgView4" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:background="@drawable/star1" /> 

</LinearLayout> 

CustomAdapter.java:

public class CustomAdapter extends BaseAdapter { 
    Context context; 
    int flags[]; 
    LayoutInflater inflter; 

    public CustomAdapter(Context applicationContext, int[] flags) { 
     this.context = applicationContext; 
     this.flags = flags; 
     inflter = (LayoutInflater.from(applicationContext)); 
    } 

    @Override 
    public int getCount() { 
     return flags.length; 
    } 

    @Override 
    public Object getItem(int i) { 
     return null; 
    } 

    @Override 
    public long getItemId(int i) { 
     return 0; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     view = inflter.inflate(R.layout.activity_gridview, null); 
     ImageView imgView1 = (ImageView) view.findViewById(R.id.imgView1); 
     ImageView imgView2 = (ImageView) view.findViewById(R.id.imgView2); 
     ImageView imgView3 = (ImageView) view.findViewById(R.id.imgView3); 
     ImageView imgView4 = (ImageView) view.findViewById(R.id.imgView4); 

     imgView1.setImageResource(flags[0]); 
     imgView2.setImageResource(flags[1]); 
     imgView3.setImageResource(flags[2]); 
     imgView4.setImageResource(flags[3]); 
     return view; 
    } 
} 

MainActivity.java:

public class MainActivity extends AppCompatActivity { 

    int images[] = {R.drawable.star2, R.drawable.star1, R.drawable.star3, R.drawable.star1}; 
    GridView grid; 
    CustomAdapter customAdapter; 
    WebView webView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     webView= (WebView) findViewById(R.id.webView); 
     grid = (GridView) findViewById(R.id.grid); 
     customAdapter = new CustomAdapter(getApplicationContext(), images); 
     grid.setAdapter(customAdapter); 
    } 
} 
関連する問題