水平滚动视图指示器android

bub*_*uwu 5 android horizontalscrollview viewpagerindicator

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

在此处输入图片说明

通过调用 srollview 的一些方法,我想强制它改变 imageView 的背景颜色(或可绘制)。

这是我的示例代码。

activity_main(我设置了滚动条=“无”)

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

    <HorizontalScrollView
        android:scrollbars="none"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:id="@+id/buttonContainer"
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

        </LinearLayout>
    </HorizontalScrollView>

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

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

主要活动

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.
    }
Run Code Online (Sandbox Code Playgroud)

以便,

在此处输入图片说明

我如何设置指标(他们只会使用画布进行图像视图)。这可能吗?

谢谢