gpt4 book ai didi

android - Seekbar.getRight() 和 Seekbar.getLeft() 返回 0

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:36 27 4
gpt4 key购买 nike

我在安卓系统工作。我想在我的应用程序中添加搜索栏的功能。

这是我的 xml 文件:-

  <SeekBar

android:id="@+id/ProgressBar01"
android:layout_width="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_height="60dp"
android:layout_below="@+id/incentives_textViewBottemLeft"
android:max="10"
android:progressDrawable="@drawable/incentive_progress"
android:secondaryProgress="0"
android:thumb="@drawable/incentives_progress_pin" />


And this is my java code related to this seek bar.

mSkbSample = (SeekBar)findViewById(R.id.ProgressBar01);

v1 = (TextView)findViewById(R.id.incentives_textViewAbove_process_pin);


v1.setText(String.valueOf(progress).toCharArray(), 0, String.valueOf(progress).length());


mSkbSample.setProgress(progress);


int xPos = ((mSkbSample.getRight() - mSkbSample.getLeft()) * mSkbSample.getProgress()) / mSkbSample.getMax();

v1.setPadding(xPos,0,0,0);

我尝试打印 mSkbSample.getRight()mSkbSample.getLeft(),这总是返回零。 帮我找出我做错了什么。

最佳答案

您不会在 onCreate 中获得 getRight 值,因为 UI 尚未在屏幕上绘制,因此尚未测量任何 UI 元素。试试这个

SeekBar seekbar = (SeekBar)findViewById(R.id.YOUD VIEW ID); 
ViewTreeObserver vto = seekbar.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
this.seekbar.getViewTreeObserver().removeGlobalOnLayoutListener(this);
int left = seekbar.getLeft();
}
});

将代码放在 onCreate 方法中。这将在搜索栏布置好后被调用。你现在应该得到左边的值。

关于android - Seekbar.getRight() 和 Seekbar.getLeft() 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com