2

良い一日!!!

特にアンドロイドの横向きのレイアウトに問題があります。

向きを横向きに変更しようとすると、ImageView が固定位置にあり、リストビューにスクロールバーしか表示されないようです... ImageView もスクロールできるようにレイアウトしたいだけです。リスト項目をはっきりと見ることができます。

ここに私のレイアウトxmlがあります

<?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" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:layout_height="wrap_content"
    android:contentDescription="@string/app_name"
    android:src="@drawable/banner" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageView1"
        android:drawSelectorOnTop="true" />

</RelativeLayout>  
4

2 に答える 2

4

スクロールビュー内にリストビューを配置できないため、これは少し注意が必要ですが、さまざまなタイプの行を持つことができるカスタムアダプターを作成すると機能させることができます (たとえば、テキストのみの行、ImageView の行など)。 .)。

次に、その ListView の最初の行を常に画像にします。

このチュートリアル(セクション: さまざまなリスト項目のレイアウト) をチェックして、さまざまな種類の行を作成する方法を学んでください。

于 2012-07-04T09:05:04.960 に答える
1

ScrollView で ListView を使用するのは良いことではないと思います。その画像もスクロールする必要がある場合は、次のようにする必要があります。

1)Listviewの場合、カスタムアダプタークラスのgetview()メソッドで次のようなものが必要なカスタム アダプター必要です

 public View getView(int position, View convertView, ViewGroup parent)
    {

    LayoutInflater inflater = getLayoutInflater();
    View row;

    row = inflater.inflate(R.layout.listview_rowlayout, parent, false);

    TextView textview = (TextView) row.findViewById(R.id.tv_list);
    ImageView imageview = (ImageView) row.findViewById(R.id.iv_list);

    textview.setText(data_text[position]);
    if(position==0){
    imageview.setImageResource(R.drawable.YourimageName);
    }else{
     imageview.setVisibility(View.GONE);
    }
  return (row);

}  

listview_rowlayout.xmlは次のようなものです

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical" >

    <ImageView
        android:id="@+id/iv_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParenttop="true"
        android:layout_marginLeft="10dp"
       />

    <TextView
        android:id="@+id/tv_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:textColor="#000000"
        android:layout_alignBottom="@+id/imageView1"
        android:text="" />


</RelativeLayout>

リストビューを追加したmain.xmlは次のようになります

<?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" >
<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:drawSelectorOnTop="true" />

</RelativeLayout>  
于 2012-07-04T09:38:43.283 に答える