gpt4 book ai didi

android: 我可以为 viewflipper 的不同 child 使用不同的类吗

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:14 27 4
gpt4 key购买 nike

我有不同的屏幕可以在 Android 应用程序中工作。我正在为此使用 ViewFlipper。我决定为不同 View 的 child 使用不同的类

public main extends Activity{
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sign_in);
ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);

HomeScreen s = new HomeScreen(getApplicationContext(), getCurrentFocus(), viewFlipper);
}
}

这个 Homescreen 类是:-

public class HomeScreen {
private Button signIn;
private Button createAccount;
private View v;
private Context context;
private ViewFlipper viewflipper;

public HomeScreen(Context context,View v,ViewFlipper viewflipper ) {
this.v=v;
this.context = context;
this.viewflipper = viewflipper;


signIn = (Button) v.findViewById(R.id.button_sign_in_homeScreen);
createAccount = (Button)v.findViewById(R.id.button_createAccount_homeScreen);
signIn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
viewflipper.setDisplayedChild(1);
}
});
}

但是是显示运行异常java.lang.RuntimeException:无法启动 Activity ComponentInfo谁能帮帮我
getCurrentFocus() 是获取 View 的正确方法吗?


我尝试实现的是

  • 我需要使用不同的类来定义、监听 view flipper 的每个子项的控件
  • 在上面的示例中,HomeScreen 是我的 view flipper 的子屏幕之一
  • 但是 v.findViewById 行显示错误我认为 getCurrentFocus() 不是发送 View 的正确方法

我不知道我以正确的方式移动的天气?当我在定义该 viewflpper 的类中定义并收听 viewflipper 所有子级的所有控件时,该类变得非常大。这让我这么想..

谢谢...

最佳答案

你可以使用 Intent 来执行动画:

第一步:在你的项目的res目录下创建anim文件夹。

第二步:创建slideleft.xml文件

第三步:在该文件中输入以下代码

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="400" />
</set>

第四步:同样创建slideright.xml

step5: 使用上面的代码,但是改变下面的

<translate android:fromXDelta="-100%p" android:toXDelta="0"
android:duration="400" />

第 6 步:

 target.startAnimation(AnimationUtils.loadAnimation(HomeScreen.this, R.anim.slide_left));

执行fadein操作,只需在fadein.xml文件中添加如下代码即可

<?xml version="1.0" encoding="utf-8"?>

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="300" />

淡出也是一样

<?xml version="1.0" encoding="UTF-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="300" />

关于android: 我可以为 viewflipper 的不同 child 使用不同的类吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com