问题描述
fade_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="500"
android:fromAlpha="0.0"
android:toAlpha="1.0">
</alpha>
</set>
我的相关视图位于我的settings_layout文件中:
<TextView
android:id="@id/commitChangesToastContainer"
android:layout_width="187dp"
android:layout_height="35dp"
android:background="@color/lightBlue"
android:text="Commit Successful. information Saved."
android:textAlignment="center"
app:layout_constraintEnd_toStartOf="@+id/commitChanges"
app:layout_constraintHorizontal_bias="0.111"
app:layout_constraintStart_toStartOf="@+id/agentNameLabel"
app:layout_constraintTop_toTopOf="@+id/commitChanges" />
<TextView
android:id="@id/commitChangesToastContainerWarning"
android:layout_width="187dp"
android:layout_height="35dp"
android:background="@color/lightBlue"
android:text="Commit Error. You may be missing info."
android:textAlignment="center"
app:layout_constraintBottom_toBottomOf="@+id/commitChanges"
app:layout_constraintEnd_toStartOf="@+id/commitChanges"
app:layout_constraintHorizontal_bias="0.111"
app:layout_constraintStart_toStartOf="@+id/agentNameLabel" />
<Button
android:id="@+id/commitChanges"
android:layout_width="187dp"
android:layout_height="85dp"
android:background="@color/lightRed"
android:text="Commit Changes"
app:layout_constraintBottom_toTopOf="@+id/author"
app:layout_constraintStart_toStartOf="@+id/agentNameInput"
app:layout_constraintTop_toBottomOf="@+id/agentNameInput"
app:layout_constraintVertical_bias="0.05" />
这是我感到困惑的地方。如果我删除了将视图的alpha初始化为0的这四行代码(如果您想自己尝试,则可以使用块注释将其禁用),这些视图的alpha显然默认为1,并且我的按钮单击将起作用基于我的布尔值的各个textview的动画。禁用此代码可使动画在1ms时将alpha更改为0,并在500ms内播放淡入,并且在动画结束时将其恢复为默认的1 alpha。
我希望我的默认Alpha为0。如果在XML中将Alpha设置为0,则动画不会覆盖已编译的Alpha值,因此,我确定需要以编程方式进行此操作。我不知道该怎么做。
最初将两个对象的alpha设置为0:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_upright);
//sets these textviews to invisible for later use. DOES NOT LET ME EDIT THE ALPHA VALUE
TextView commitWarning = findViewById(R.id.commitChangesToastContainerWarning);
TextView commitSuccess = findViewById(R.id.commitChangesToastContainer);
commitWarning.setAlpha(0f);
commitSuccess.setAlpha(0f);
根据布尔onClick淡入淡出:
Button commitChanges = findViewById(R.id.commitChanges);
commitChanges.setonClickListener(new View.OnClickListener() {
public void onClick(View view){
EditText iai = findViewById(R.id.agentIdInput); //iai = i_nput a_gent i_d
agentIdInputString = iai.getText().toString();
incompleteForm = agentIdInputString.equals("");//returns True if there is no input
//please disregard my lack of an input filter
if (incompleteForm){
TextView commitWarning = findViewById(R.id.commitChangesToastContainerWarning);
Animation aniFadeIn = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fade_in);
commitWarning.startAnimation(aniFadeIn);
} else {
TextView commitSuccess = findViewById(R.id.commitChangesToastContainer);
Animation aniFadeIn = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fade_in);
commitSuccess.startAnimation(aniFadeIn);
};
之所以这样做,是因为我想从文本视图中创建一个自己的“ Toast”容器,可以将其放置在非常特定的位置并相应地格式化文本视图,并将这种自制的吐司限制在自己的容器中布局。
这是此页面上我的应用程序蓝图的图像。您会看到我的edittext,我想基于布尔值淡入的两个对象以及我的提交按钮。如果您需要更多信息,请告诉我。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)