ViewFlipper具有可变数量的liniar布局

时间:2011-11-02 08:02:36

标签: android imageview android-linearlayout viewflipper

在我的应用程序中,我需要通过拖动触摸屏来使用ViewFlipper切换屏幕。我有一个包含一些项目的ListView。选择项目时,我必须显示一些图像。问题是图像的数量从一个项目到另一个项目是不同的。所以我认为我必须以编程方式创建LinearLayout和ImageView。我有可能做什么吗?

提前致谢..

这是我尝试过的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="#000000"
    android:id="@+id/layout_main">

    <ViewFlipper android:id="@+id/details"
        android:layout_width="fill_parent" android:layout_height="fill_parent">

    </ViewFlipper>

</LinearLayout>

和Oncreate()方法:

for (int i = 0; i < jArray.length(); i++) {
            LinearLayout l=new LinearLayout(this);
            l.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                    LayoutParams.FILL_PARENT));
            l.setBackgroundColor(0xFFFFFFFF);
            l.setOrientation(LinearLayout.VERTICAL);

            ImageView img = new ImageView(this);
            img.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                    LayoutParams.FILL_PARENT));
            //ImageView img1 = (ImageView) findViewById(R.id.photo1);
            Drawable image1 = ImageOperations(getBaseContext(), url[i]);
            img.setImageDrawable(image1);

            l.addView(img);
        }

但没有任何反应。我只看到一个黑色的大屏幕。

1 个答案:

答案 0 :(得分:0)

我完全不明白你说的是什么,但之前我在ViewFlipper上工作过。使用四个线性布局作为ViewFlipper的子视图,在xml中。 (首先我尝试将listviews直接添加为childview,但添加linearlayouts会更容易)

并添加了listviews,就像你对java代码中相应的linearlayouts所说的那样。

并且有效。

希望它有所帮助。

这是我用于xml的代码:

<RelativeLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/tabrelay"
                android:gravity="center_horizontal"

                >      

    <ViewFlipper android:id="@+id/details" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        style="@style/FlipperMargins.flipper"
        >     


    <LinearLayout  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:id="@+id/list1"
    android:listSelector="@color/sprgreen"
    android:drawSelectorOnTop="true"
    android:background="@drawable/deckbackn"
    style="@style/Webview.view"

    />
     <LinearLayout 
    android:layout_width="@dimen/webViewWidth" 
    android:layout_height="@dimen/webViewHeight"
    android:layout_gravity="center"
    android:divider="@color/grey46"
    android:dividerHeight="1dp"
    android:id="@+id/list2"
    android:background="@drawable/white"
    style="@style/Webview.view"

    />
     <LinearLayout  
    android:layout_width="@dimen/webViewWidth" 
    android:layout_height="@dimen/webViewHeight"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:id="@+id/list3"
    android:listSelector="@color/sprgreen"
    android:drawSelectorOnTop="true"
    android:background="@drawable/commentsbg"
    style="@style/Webview.view"

    />

   <WebView 
   android:id="@+id/helloWebView" 
   android:layout_width="@dimen/webViewWidth" 
   android:layout_height="@dimen/webViewHeight"
   android:layout_gravity="center"
   android:background="@drawable/white"
   style="@style/Webview.view"
   /> 
   </ViewFlipper>
   </RelativeLayout>

之后你就可以从xml中获取一些线性布局,并从java中添加你想要的列表视图等等。