Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 滑动碎片的导航(显示?)_Java_Android_Layout - Fatal编程技术网

Java 滑动碎片的导航(显示?)

Java 滑动碎片的导航(显示?),java,android,layout,Java,Android,Layout,我想为我的滑动片段提供一些导航显示(我真的不知道如何更好地解释这一点),就像你看到的(下面的小点就是我想要的) 我已经有了滑动碎片,只是想有一个指示器,显示你在滑动时的实际位置 谢谢你的建议 您可以通过无线电组使用以下代码轻松添加寻呼机指示器 用Kotlin编写的代码 import kotlinx.android.synthetic.main.activity_test.* class TestActivity : AppCompatActivity(){ override fun onCre

我想为我的滑动片段提供一些导航显示(我真的不知道如何更好地解释这一点),就像你看到的(下面的小点就是我想要的)

我已经有了滑动碎片,只是想有一个指示器,显示你在滑动时的实际位置


谢谢你的建议

您可以通过无线电组使用以下代码轻松添加寻呼机指示器

用Kotlin编写的代码

import kotlinx.android.synthetic.main.activity_test.*
class TestActivity : AppCompatActivity(){ 
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)

 customImageAdapter = MyCustomPagerAdapter(this@TestActivity, numbers)
        vpIntro.adapter = customImageAdapter
    /* Add Circle indicator for view the current page*/
        addRadioButtons(4, rgPagerIndicator)

vpIntro.setOnPageChangeListener(object : ViewPager.OnPageChangeListener {
            override fun onPageScrollStateChanged(state: Int) {

            }

            override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {

            }

            override fun onPageSelected(position: Int) {
                currentPos = position
                rgPagerIndicator.check(position)
            }
        })
}
添加单选按钮功能

fun addRadioButtons(number: Int, rgPager: RadioGroup) {//, radioButtons: java.util.ArrayList<RadioButton>
//        radioButtons.clear()
        rgPager.removeAllViews()
        if (number > 1) {
            for (i in 0 until number) {
                val params_button: RadioGroup.LayoutParams
                val device_height = 1184

                val display = windowManager.defaultDisplay
                val size = Point()
                display.getSize(size)
                val width = size.x
                val height = size.y

                if (device_height == height) {
                    params_button = RadioGroup.LayoutParams(25, 25)
                    params_button.setMargins(7, 0, 7, 0)
                } else {
                    params_button = RadioGroup.LayoutParams(35, 35)
                    params_button.setMargins(10, 0, 10, 0)
                }

                val rdbtn = RadioButton(this@WelcomeActivity)
                rdbtn.isEnabled = false
                rdbtn.id = i
                rdbtn.layoutParams = params_button
                rdbtn.setBackgroundResource(R.drawable.bg_viewpager_indicator)
                rdbtn.setButtonDrawable(R.color.transparent)
                if (i == 0) {
                    rdbtn.isChecked = true
                }

                rgPager.addView(rdbtn)
            }
        }
    }
fun addRadioButtons(编号:Int,rgPager:RadioGroup){//,radioButtons:java.util.ArrayList
//单选按钮。清除()
rgPager.removeAllViews()
如果(数字>1){
for(在0中输入i,直到数字){
val params_按钮:RadioGroup.LayoutParams
val装置高度=1184
val display=windowManager.defaultDisplay
val大小=点()
display.getSize(大小)
val宽度=大小.x
val高度=尺寸y
如果(设备高度==高度){
params_button=RadioGroup.LayoutParams(25,25)
参数按钮。设置边距(7,0,7,0)
}否则{
参数按钮=射线组布局参数(35,35)
参数按钮。设置边距(10,0,10,0)
}
val rdbtn=单选按钮(this@WelcomeActivity)
rdbtn.isEnabled=false
rdbtn.id=i
rdbtn.layoutParams=params\u按钮
rdbtn.setBackgroundResource(R.drawable.bg\u viewpager\u指示器)
rdbtn.setButtonDrawable(R.color.transparent)
如果(i==0){
rdbtn.isChecked=true
}
rgPager.addView(rdbtn)
}
}
}
在您的查看寻呼机下面以xml格式创建一个无线电组

<RadioGroup
        android:id="@+id/rgPagerIndicator"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginBottom="@dimen/margin_10"
        android:gravity="center"
        android:orientation="horizontal" />

因此我找到了一种显示此片段的方法,在Nielsh response的帮助/启发下,我实现了一个java变体。首先将RadioGroup添加到MainActivity.xml中

    <RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|bottom"
    android:orientation="horizontal"
    android:id="@+id/radio_group">
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioButton"
        android:checked="true" />
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioButton2"
        />
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/radioButton3" />
</RadioGroup>

请不要发布代码链接,在你的问题中包含一个。谢谢你。你应该阅读本网站的指南和指南,而不是试图讽刺。
        (...)
        radioGroup = (RadioGroup)findViewById(R.id.radio_group);
        (...)
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int position) {
            page = position;
            switch (position){
                case 0:
                    radioGroup.check(R.id.radioButton);
                    break;
                case 1:
                    radioGroup.check(R.id.radioButton2);
                    break;
                case 2:
                    radioGroup.check(R.id.radioButton3);
                    break;
            }
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    }); // viewpager on page change listener