1

我必须开发一个 Android 应用程序。在这里,我必须增加和减少TextView文本大小。

我必须点击两个ImageView(正面和负面)。

首先,我必须单击图像,这意味着我必须将文本大小增加 3 倍,然后必须禁用正图像。其次,我必须单击像,这意味着我必须将文本大小减小 5 倍,然后才能禁用负像。

第三,现在我必须直接单击负图像而不单击正图像,这意味着我必须将文本大小减小 2 倍并且禁用负图像。我该如何开发这些?

我目前的情况是这样的:

首先,我必须单击正面图像意味着将值增加 3 倍。图像未禁用。请告诉我如何禁用正图像。其次,我必须单击图像,这意味着将文本大小减小 5 倍。

第三,我必须直接单击负图像而不单击正图像,这意味着文本大小没有减小?我该如何解决这些问题?

int text_size=16;int text_max;
   int text_min=12;
String fullcontent = in.getStringExtra("FullContent");
content.loadDataWithBaseURL(null,fullcontent, "text/html", "UTF-8",null);
positive = (ImageView) findViewById(R.id.imageView3);
positive.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
       if (text_size < 22) {
           content.getSettings().setDefaultFontSize(text_size += 1);
         text_max=  text_size++;
            j = text_max;      
     if (j == text_max)
    {
        positive = (ImageView) findViewById(R.id.imageView3);
        positive.setEnabled(false);
    }   
         }
   }  
});   

negative = (ImageView) findViewById(R.id.imageView4);
negative.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
      if (j > 12)
  {
      //Description.FontSize -= 2;
   content.getSettings().setDefaultFontSize(j -= 1);
   int k=   j--;
   text_min = k;
      if (text_size == j)
      {
          negative = (ImageView) findViewById(R.id.imageView4);
          negative.setEnabled(false);
      }  
    }
      }  
});   

编辑:

最初我已经声明了 text_default,text_max,text_min 大小,如:

int text_size=16;
int text_max=22;
int text_min=10;

我必须在单击正图像时编写增加最大字体大小的条件:

 positive = (ImageView) findViewById(R.id.imageView3);
 positive.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
 if (text_size < 22)
 {
    content.getSettings().setDefaultFontSize(text_size += 1);
    text_max=  text_size++;
    j = text_max;
    }} });

我已经写了在单击负图像时减小 textSize 的条件:

negative = (ImageView) findViewById(R.id.imageView4);
negative.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
 if (j > 10)
  {
   content.getSettings().setDefaultFontSize(j -= 1);
   int k=   j--;
   text_min = k;
    }} });

现在我必须运行应用程序并直接单击正图像意味着文本大小将增加 3 倍。之后我必须单击负图像意味着文本大小将减小 5 倍。效果很好...

但我必须运行应用程序并直接单击负图像意味着文本大小将像 bbc 新闻阅读器应用程序(A+、A- 功能)一样减小 3 倍。

我能怎么做 ???请给我一些发展思路???

4

1 回答 1

0

尝试这样的事情:

在开始时获取 textView 的 textSize 的句柄。

float textSize = textView.getTextSize();
if (//Check if first time) {

    textView.setTextSize(textView.getTextSize() * 3f);

或者

    textView.setTextSize(textView.getTextSize() / 3f);
}
else {
    textView.setTextSize(textView.getTextSize() * 5f);

或者

    textView.setTextSize(textView.getTextSize() / 5f);
}
于 2013-03-21T04:27:21.463 回答