0

如何在单击按钮时动态添加图像按钮?我需要添加 2x3 格式的图像按钮,当它离开屏幕时应该可以水平滚动。

package com.example.dynamic;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MainActivity extends Activity {

    LinearLayout linearLayout1;
    LinearLayout linearLayout2;
    int flag=0;


    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_main);
        linearLayout1 = (LinearLayout) findViewById(R.id.linearLayout1);
        linearLayout2 = (LinearLayout) findViewById(R.id.linearLayout2);

    }

    public void onClick(View v){

        ImageView image = new ImageView(MainActivity.this);
                image.setBackgroundResource(R.drawable.ic_launcher);
                if(flag==0){
                linearLayout1.addView(image);
                flag=1;
                }
                else{
                 linearLayout2.addView(image);
                 flag=0;
                }

      }



}

这是我使用的布局:

<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:orientation="vertical"
tools:context=".MainActivity" >

            <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onClick"
            android:text="Button" />


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

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

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

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



</LinearLayout>

这样做的问题是,当图像按钮的数量超过屏幕宽度时,它是不可滚动的。另一个潜在的问题是有可能单独滚动两行,而不是一起滚动。这是不可取的。请帮助我,我是初学者,请原谅我在问这个问题时出现的任何错误。

4

1 回答 1

0

目前在 android 中没有水平滚动视图类。您可以在此处此处此处尝试一些自定义滚动视图。当您选择使用哪一个类时,您应该创建适配器,或者直接将项目添加到此滚动视图中。您不需要滚动视图内的任何布局。

于 2013-09-26T18:23:39.880 回答