2012-05-10 162 views
2

我試圖創建一個顯示歌詞爲用戶的應用程序。歌詞存儲在values/strings.xml中,並在訪問活動時顯示給用戶。 (我不確定這是否是一種很好的方法)。捏縮放,TextView的

根據文本的每一行有多長我不知道這TEXTSIZE我應該用我真的就能夠使用一些「捏縮放」功能。

不過,我不知道是否有可能「捏」,以放大對textviews。香港專業教育學院發現,這樣做對網頁視圖和imageviews但沒有對textviews的各種方法。

我在尋找增加TEXTSIZE /通過「捏」

幫助與如何存儲字符串縮放的佈局和顯示的最佳方式是非常歡迎也。

乾杯!

回答

6

我是新Android開發,並試圖找出相同。我已經測試應用程序用雙指縮放但隨着問題的工作要求在https://stackoverflow.com/questions/14306908/textview-in-a-scrollview-with-pinch-zoom

但是,這是工作

package com.example.pinchzoom; 

import android.os.Bundle; 
import android.app.Activity; 
import android.util.Log; 
import android.util.TypedValue; 
import android.view.Menu; 
import android.view.MotionEvent; 
import android.view.ScaleGestureDetector; 
import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    TextView scaleGesture; 
    ScaleGestureDetector scaleGestureDetector; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     scaleGesture = (TextView)findViewById(R.id.article); 
     scaleGesture.setText("this is some text"); 
     scaleGestureDetector = new ScaleGestureDetector(this, new simpleOnScaleGestureListener()); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 


    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     // TODO Auto-generated method stub 
     scaleGestureDetector.onTouchEvent(event); 
     return true; 
    } 

    public class simpleOnScaleGestureListener extends 
      SimpleOnScaleGestureListener { 

     @Override 
     public boolean onScale(ScaleGestureDetector detector) { 
      // TODO Auto-generated method stub 
      float size = scaleGesture.getTextSize(); 
      Log.d("TextSizeStart", String.valueOf(size)); 

      float factor = detector.getScaleFactor(); 
      Log.d("Factor", String.valueOf(factor)); 


      float product = size*factor; 
      Log.d("TextSize", String.valueOf(product)); 
      scaleGesture.setTextSize(TypedValue.COMPLEX_UNIT_PX, product); 

      size = scaleGesture.getTextSize(); 
      Log.d("TextSizeEnd", String.valueOf(size)); 
      return true; 
     } 
    } 
} 

視圖

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 
    <TextView 
     android:id="@+id/article" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</RelativeLayout> 
+0

您好.. TextView的更多鈔票的旋轉或不? –