LinearLayout içeren bir HorizontalScrollView var. Ekranda, çalışma zamanında LinearLayout'a yeni Görünümler ekleyecek bir Düğme var ve yeni bir Görünüm eklendiğinde kaydırma görünümünün listenin sonuna kaydırılmasını istiyorum.HorizontalScrollView: Yeni Görünümler eklendiğinde sona ermek için otomatik olarak kaydır?
Neredeyse çalışıyorum - bununla birlikte her zaman son görünümün bir görüntüsünü kaydırır. İlk bakışta, yeni görünümün dahil edilmesini hesaplamaksızın kayıyor gibi görünüyor.
Uygulamamda özel bir Görüntüleme nesnesi kullanıyorum, ancak ImageView kullanan ve aynı belirtiye sahip küçük bir deneme uygulaması yaptım. Layout ve ScrollView hem de requestLayout() gibi çeşitli şeyler denedim, ben scrollTo (Integer.MAX_VALUE) çalıştı ve netherverse :) kaydırdı Ben bir UI iş parçacığı sorunu veya bir şey ihlal ediyor muyum?
- Rick
======
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button) findViewById(R.id.addButton);
b.setOnClickListener(new AddListener());
add();
}
private void add() {
LinearLayout l = (LinearLayout) findViewById(R.id.list);
HorizontalScrollView s =
(HorizontalScrollView) findViewById(R.id.scroller);
ImageView i = new ImageView(getApplicationContext());
i.setImageResource(android.R.drawable.btn_star_big_on);
l.addView(i);
s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
private class AddListener implements View.OnClickListener {
@Override
public void onClick(View v) {
add();
}
}
}
Düzen XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<HorizontalScrollView
android:id="@+id/scroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbarSize="50px">
<LinearLayout
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4px"/>
</HorizontalScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">
<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingLeft="80px"
android:paddingRight="80px"
android:paddingTop="40px"
android:paddingBottom="40px"
android:text="Add"/>
</LinearLayout>
</LinearLayout>
, çok teşekkürler, bu gün beni rahatsız eden! :) –
Teşekkürler Ted hopp – praveenb
+1 Bu bana yardımcı oldu :) –