Rzuciłem własny widok niestandardowy i mogę narysować na ekranie wszystko w porządku, ale chciałbym ustawić zmierzoną wysokość ekranu na 1000px i pozwolić użytkownik przewiń na osi Y, ale mam problemy z wykonaniem tego. Czy ktoś może pomóc?Android: wykonaj przewijany widok niestandardowy
Oto niektóre kodu:
public class TestScreen extends Activity {
CustomDrawableView mCustomDrawableView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCustomDrawableView = new CustomDrawableView(this);
setContentView(mCustomDrawableView);
}
}
i
public class CustomDrawableView extends View {
public CustomDrawableView(Context context) {
super(context);
setVerticalScrollBarEnabled(true);
setMinimumHeight(1000);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawLine(...);
// more drawing
}
}
Próbowałem przesłonić scrollTo, scrollBy, awakenScrollBars etc z wezwaniem do Super, ale bezskutecznie. Czy brakuje mi czegoś głupiego, czy też popełniam jakiś zasadniczy błąd?
Dziękuję z góry,
Martyn
Dodatek:
Próbowałem dodać to jako własny składnik z plikiem layoutu poniżej i zmienił kod w TestScreen
aby wskazać na poprawny zasób z setContentView(R.layout.exampleLayout)
, ale to powoduje awarię emulatora. Próbowałem komentowania kodu w dół do minimum i nadal ulega awarii, więc jest coś fundamentalnie złego, że robię, ale nie jestem pewien, co to jest:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.martyn.testApp.CustomDrawableView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</ScrollView>
</LinearLayout>
To była metoda, którą ostatecznie podjąłem. Mam LinearLayout jako węzeł podstawowy w układzie xml, a następnie Scrollview z moim niestandardowym widokiem zawartym w – Martyn
@ Moons Mam Linearny układ w obrębie mojego widoku przewijania, ale kiedy dodaję widok obrazu, pojawia się on w zwoju, ale kiedy dodaj do tego mój niestandardowy widok, ale nie pokazuje się, ale pokazuje, kiedy ustawiam mój widok jako widok treści mojej aktywności, po prostu pokazuje mój widok ... tak, że działa ... to dlaczego to nie działa? widok przewijania? – rahul