当用户选择了EditText时,你们是否可以向我展示更改EditText的TextSize属性的最佳方法(正在写入)?
这是我迄今为止所取得的成就:
我在线性布局中有两个EditText。
的xml:
public void makeTextViewFocusedBigger(View view) {
((EditText) view).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 25);
}
活性:
{{1}}
当用户选择它时它确实会变大,但显然当用户停止使用它时它不会恢复到原始大小。
你会怎么做才能实现这个功能?
答案 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)
您需要addFocusChangedListener
到EditTexts
。在它们中你可以看到它们是否有焦点。
答案 5 :(得分:1)
您必须实施View.OnFocusChangeListener()
方法,在onFocusChange()
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// set the text size here
}
});