我对android是个新手,我想知道怎样才能给ImageView添加一些功能。我的活动java文件中的当前代码如下所示
package com.example.crystalbabyheaven;
import android.app.Activity;
import android.util.Log;
import android.view.*;
import android.view.View.OnTouchListener;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ScrollView;
import android.widget.ImageView;
public class MainActivity extends Activity implements Runnable {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ScrollView sv = (ScrollView) findViewById(R.id.ScrollView);
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
sv.scrollTo(0, 8000);
}
}, 100);
ImageView player = new ImageView(this);
player.setImageDrawable(getResources().getDrawable(R.drawable.crystalbaby));
player.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event){
sv.scrollTo(0, 5000);
return true;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/*@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
ScrollView sv = (ScrollView) findViewById(R.id.ScrollView);
sv.scrollTo(300, 300);
}*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void run() {
// TODO Auto-generated method stub
}
}
下面是我的XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.crystalbabyheaven.MainActivity" >
<ScrollView
android:id = "@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/bg" />
</ScrollView>
<ImageView
android:id="@+id/crystalBaby"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="bottom"
android:src="@drawable/crystalbaby" />
</FrameLayout>
我有一张非常大的图像,它从地球的照片开始,通过大气层向上滚动进入太空。我在这个背景上有另一个图像视图。我的onCreate代码的第一部分将滚动视图设置在图像的底部。在这种情况下,我想要做的是,当我按下角落中的图像时,滚动到图像的中间。我实际上想要一些不同的东西,但我想在做任何事情之前先测试一下。我的代码中有什么地方错了吗?我不知所措。
发布于 2014-10-20 04:16:10
您正在创建一个xml,但这与ImageView中的图像视图不同。为什么不这样做: imageview player = (ImageView)findViewById(R.id.imageview_player),并在您的xml中,将android:id="@+id/imagview_player“放入Imageview中。
或者,如果您必须以编程方式创建图像视图,则将其添加到布局中。您不能在代码中的任何位置将其添加到布局中。
https://stackoverflow.com/questions/26454337
复制相似问题