2011-05-10 6 views
0

HI,
Je rencontre un problème lors de l'ajout dynamique d'une barre de défilement horizontale et verticale à une vue. Fondamentalement, l'application zoom avant et arrière sur une image. Je veux placer la barre de défilement horizontale et verticale dynamiquement chaque fois que la vue est hors limites. c'est-à-dire que lorsque le zoom est cliqué et que la vue est en désaccord, alors il ajoute automatiquement la barre de défilement. J'utilise ces deux méthodes mais elles ne fonctionnaient pas correctement.
              setVerticalScrollBarEnabled (true);
              setHorizontalScrollBarEnabled (true);
Est-ce que je dois mettre ces méthodes dans la méthode onDraw (Canvas canvas) de la vue?
Remarque: Je ne crée pas de vue à l'aide d'un fichier XML. Je crée une vue en utilisant une classe héritée de View.
Merci!Android Ajouter horizontalalscrollbar et verticalscrollbar à une vue dynamiquement

Répondre

1

pas tout à fait la même chose, mais cela peut vous donner un indice:

mTextView = new TextView(this); 
    mTextView.setGravity(Gravity.CENTER_VERTICAL);  
    mTextView.setText(R.string.instructions); 
    mTextView.setTextColor(0xFF000000); 
    mTextView.setPadding(20, 8, 8, 20); 
    //mTextView.setBackgroundColor(0xCCFFFFFF); 
    mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PT, 8); 

    mScroll = new ScrollView(this); 
    mScroll.setScrollbarFadingEnabled(false); 
    mTextPane = new RelativeLayout(this); 
    mTextPane.setVisibility(View.GONE); 
    //mScroll.setVisibility(View.GONE); 

    mScroll.addView(mTextView); 
    mTextPane.addView(mScroll); 

    Resources res = getResources(); 
    Drawable drawable = res.getDrawable(R.drawable.text_pane_feather2); 
    mTextPane.setBackgroundDrawable(drawable); 

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(420, 420); 
    //mBackground.setImageBitmap(R.drawable.text_pane); 
    lp.setMargins(0,0,0,30); 
    lp.addRule(RelativeLayout.CENTER_HORIZONTAL); 
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 

    layout.addView(mTextPane, lp); 
Questions connexes