Android 水平滚动视图指示器

Android 水平滚动视图指示器,android,horizontalscrollview,viewpagerindicator,Android,Horizontalscrollview,Viewpagerindicator,我在android中使用水平滚动视图来显示应用程序中的按钮(我需要使用水平滚动视图) 通过调用srollview的某些方法,我想强制它更改imageView的背景色(或drawable) 这是我的示例代码 活动\u main(我已经设置了滚动条=“无”) 主要活动 import android.graphics.Point; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import a

我在android中使用水平滚动视图来显示应用程序中的按钮(我需要使用水平滚动视图)

通过调用srollview的某些方法,我想强制它更改imageView的背景色(或drawable)

这是我的示例代码

活动\u main(我已经设置了滚动条=“无”)


主要活动

import android.graphics.Point;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    LinearLayout buttonContainer, indicatorContainer;

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

        /* getting display size */
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;

        /* set button size */
        int buttonWidthSize = (int) (width / 2.5);
        int buttonHeightSize = (int) (height / 5.0);

        buttonContainer = (LinearLayout)findViewById(R.id.buttonContainer);
        indicatorContainer = (LinearLayout)findViewById(R.id.indicatorContainer);



        for(int i = 1; i <= 10 ; i++){
            Button button = new Button(this);
            button.setText("button"+i);
            button.setWidth(buttonWidthSize);
            button.setHeight(buttonHeightSize);
            buttonContainer.addView(button, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        }

        // how it can be solved.
    }
导入android.graphics.Point;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.Display;
导入android.view.ViewGroup;
导入android.widget.LinearLayout;
导入android.widget.Button;
公共类MainActivity扩展了AppCompatActivity{
线性布局按钮容器、指示器容器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*获取显示大小*/
Display Display=getWindowManager().getDefaultDisplay();
点大小=新点();
display.getSize(size);
int width=size.x;
整数高度=大小y;
/*设置按钮大小*/
int按钮宽度=(int)(宽度/2.5);
int按钮height size=(int)(高度/5.0);
buttonContainer=(LinearLayout)findViewById(R.id.buttonContainer);
indicatorContainer=(LinearLayout)findViewById(R.id.indicatorContainer);

对于(int i=1;i)第一个图像链接没有加载,当2个视图显示你认为哪一个被选中时,如何显示一个指示符?我没有利用这一点?这是可能的,以便获得ScLabVIEWBar的位置。
import android.graphics.Point;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    LinearLayout buttonContainer, indicatorContainer;

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

        /* getting display size */
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;

        /* set button size */
        int buttonWidthSize = (int) (width / 2.5);
        int buttonHeightSize = (int) (height / 5.0);

        buttonContainer = (LinearLayout)findViewById(R.id.buttonContainer);
        indicatorContainer = (LinearLayout)findViewById(R.id.indicatorContainer);



        for(int i = 1; i <= 10 ; i++){
            Button button = new Button(this);
            button.setText("button"+i);
            button.setWidth(buttonWidthSize);
            button.setHeight(buttonHeightSize);
            buttonContainer.addView(button, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        }

        // how it can be solved.
    }