更改android中焦点EditText的TextSize

时间:2018-02-06 11:13:33

标签: android android-layout android-edittext

当用户选择了EditText时,你们是否可以向我展示更改EditText的TextSize属性的最佳方法(正在写入)?

这是我迄今为止所取得的成就:

我在线性布局中有两个EditText。

的xml:

public void makeTextViewFocusedBigger(View view) {
   ((EditText) view).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 25);
}

活性:

{{1}}

当用户选择它时它确实会变大,但显然当用户停止使用它时它不会恢复到原始大小。

你会怎么做才能实现这个功能?

6 个答案:

答案 0 :(得分:2)

使用View.OnFocusChangedListener

myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
       // Change size based on hasFocus boolean
    }
});

答案 1 :(得分:2)

使用setOnFocusChangeListener

喜欢这个:

Your_Edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if(hasFocus)
                {
                    Your_Edittext.setTextSize(25); //increased size
                }
                else
                {
                    Your_Edittext.setTextSize(15); //normal size
                }
            }
        });

答案 2 :(得分:2)

请执行以下操作:

XML:

  <EditText
       android:textSize="20dp"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/edit_text_first"/>
    <EditText
       android:textSize="20dp"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/edit_text_second"/>

活动OnCreate

 EditText editFirst=findViewById(R.id.edit_first)

 EditText editSecond=findViewById(R.id.edit_second)

editFirst.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
       // Change size of text inside 1st EditText
    }
});

editSecond.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
       // Change size of text inside 2nd EditText
    }
});

要实现它更通用:

 public class MainActivity extends AppCompatActivity implements View.OnFocusChangeListener{ 


    @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);


            setContentView(R.layout.activity_main);
            editFirst.setOnFocusChangeListener(this);

            editSecond.setOnFocusChangeListener(this);

    }



    @Override
    public void onFocusChange(View v, boolean hasFocus) 
        {
            // Change text size of every EditText or for selective EditText. As You want
            }
}

答案 3 :(得分:2)

您需要实现View.OnFocusChangeListener()。当视图的焦点状态发生变化时,将调用此方法。

php artisan config:cache

答案 4 :(得分:1)

您需要addFocusChangedListenerEditTexts。在它们中你可以看到它们是否有焦点。

答案 5 :(得分:1)

您必须实施View.OnFocusChangeListener()方法,在onFocusChange()

中根据需要设置文字视图尺寸
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
      // set the text size here
    }
});