He rodado mi propia vista personalizada y puedo dibujar bien en la pantalla, pero lo que realmente me gustaría hacer es establecer el Medido Altura de la pantalla, por ejemplo, 1000px y dejar que el el usuario se desplaza en el eje Y, pero tengo problemas para hacerlo. ¿Alguien puede ayudar?Android: hacer una vista personalizada desplazable
Aquí hay algo de código:
public class TestScreen extends Activity {
CustomDrawableView mCustomDrawableView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCustomDrawableView = new CustomDrawableView(this);
setContentView(mCustomDrawableView);
}
}
y
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
}
}
He tratado de anular scrollTo, scrollBy, etc awakenScrollBars con una llamada a super pero fue en vano. ¿Me estoy perdiendo algo tonto, o estoy cometiendo algún error fundamental?
gracias de antemano,
Martyn
Adición:
he intentado añadir esto como un componente personalizado con el archivo de diseño de abajo y cambiar el código en TestScreen
para apuntar a la recurso correcto con setContentView(R.layout.exampleLayout)
, pero esto hace que el emulador se cuelgue. He intentado comentar el código abajo al mínimo y todavía falla, así que hay algo fundamentalmente equivocado que estoy haciendo, pero no estoy seguro de lo que es:
<?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>
Este fue el método que tomé eventualmente. Tengo un LinearLayout como nodo base en el diseño xml, luego una vista de desplazamiento con mi vista personalizada contenida en – Martyn
@Moons Tengo un diseño lineal en mi vista de desplazamiento pero cuando agrego una vista de imagen aparece en el desplazamiento, pero cuando agregar mi vista personalizada, no ... pero muestra cuando configuro mi vista como la vista de contenido de mi actividad, solo muestra mi vista ... para que funcione ... entonces, ¿por qué no funciona? una vista de desplazamiento? – rahul