如何在Android Studio中将ImageView添加到自定义视图类中?

显示名称

基本上,我已经创建了一个自定义类,该类扩展了View,并且当前它正在绘制一条水平线,在该水平线处触摸屏幕直到将其释放为止。我要实现的是在背景中的线条后面添加ImageView,以便在前景中绘制线条。这是问题所在,尽管进行了所有研究,但我不知道如何在此视图中添加ImageView。

根据我的理解,重写的onDraw函数需要:#1清除屏幕->#2在ImageView上绘制图像->#3在每次迭代中绘制线条。如果此信息有所帮助,我将不得不稍后在所说的ImageView上实现动态图像更改。

public class RateView extends View{

float touchY = (getHeight() / 2);
boolean isPressed = false;
Paint paint=new Paint();

public RateView(Context context, AttributeSet attrs) {
    super(context);
    this.setBackgroundColor(Color.parseColor("#da5f02"));
    init(null);
}

private void init(AttributeSet attr){
    paint.setColor(Color.GREEN);
    paint.setStrokeWidth(10);
    paint.setAntiAlias(true);
}

@Override
public void onDraw(Canvas canvas)
{
    super.onDraw(canvas);
        if (isPressed){
            canvas.drawLine(5, touchY, (getWidth()-10), touchY,paint);
        }
}

@Override
public boolean onTouchEvent(MotionEvent motionEvent){

    switch (motionEvent.getAction()){
        case MotionEvent.ACTION_DOWN:
            isPressed = true;
            break;
        case MotionEvent.ACTION_MOVE:
            touchY = motionEvent.getY();
            break;
        case MotionEvent.ACTION_UP:
            isPressed = false;
            break;
    }
    invalidate();
    return true;
}}

这是我的costum视图类。我的主类仅扩展AppCompatActivity并将contentView设置为上述视图。非常感谢您提前答复!

编辑: MainActivity

public class MainScreen extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View rateView = new RateView(this, null);
    setContentView(rateView);
 }
}

编辑: MainActivity XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainScreen"
android:background="#da5f02">
<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/Picture"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true"
    android:background="#da5f02"
    android:src="@drawable/monalisa"
    android:adjustViewBounds="true"/>

</RelativeLayout>
Santosh Kumar
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainScreen"
android:background="#da5f02">

 <com.yourpackage.RateView 
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:gravity="center_horizontal" />


<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/Picture"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true"
    android:background="#da5f02"
    android:src="@drawable/monalisa"
    android:adjustViewBounds="true"/>

</RelativeLayout>

请看这个

公共类MainScreen扩展了AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View rateView = new RateView(this, null);
    setContentView(R.layout.activity_main);
 }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS:如何在viewForHeaderInSection中将滑动删除按钮添加到自定义视图

来自分类Dev

iOS:如何在viewForHeaderInSection中将滑动删除按钮添加到自定义视图

来自分类Dev

如何在Android中将子视图添加到ImageView

来自分类Dev

如何在Python 3.5中将自定义代码添加到HTTPStatus?

来自分类Dev

如何在Woocommerce中将自定义字段添加到类别中?

来自分类Dev

如何在Java中将自定义颜色添加到数组中?

来自分类Dev

如何在swift2中将分钟添加到自定义时间

来自分类Dev

在Android中将标签和图像动态添加到自定义视图

来自分类Dev

在Android上将ViewPager添加到自定义视图

来自分类Dev

将自定义弹出窗口/视图添加到android中的活动

来自分类Dev

Android-将自定义视图添加到xml布局中的组件

来自分类Dev

如何在TFS Build 2015中将自定义部分添加到构建摘要中?

来自分类Dev

如何在Laravel 5中将自定义配置文件添加到app / config?

来自分类Dev

如何在iOS 8中将自定义页脚(带有渐变)添加到UIView

来自分类Dev

如何在Windows 7中将图标添加到自定义上下文菜单项?

来自分类Dev

如何在“查询”构建器中将自定义列添加到我的选择中?

来自分类Dev

如何在Android的Chrome自定义标签中将EXTRA_REFERRER添加到CustomTabsIntent构建器

来自分类Dev

如何在Android的Chrome自定义标签中将EXTRA_REFERRER添加到CustomTabsIntent构建器

来自分类Dev

如何在android studio中向面板添加自定义视图?

来自分类Dev

如何动态地在滚动视图中将自定义布局添加到线性布局

来自分类Dev

如何在Sylius中将图像添加到自定义实体?

来自分类Dev

如何在JS Fiddle中将自定义属性添加到head标签?

来自分类常见问题

如何在React Native中将屏幕添加到自定义底部导航

来自分类Dev

如何在自定义插件中将buildscript依赖项添加到项目依赖项?

来自分类Dev

如何在Olingo中将自定义属性添加到元模型?

来自分类Dev

如何在NetSuite中将自定义字段添加到发票

来自分类Dev

如何在Scala中将Builder方法添加到自定义IndexedSeq?

来自分类Dev

如何在Wordpress中将图像添加到自定义主题本身?

来自分类Dev

如何在React Native中将屏幕添加到自定义底部导航

Related 相关文章

  1. 1

    iOS:如何在viewForHeaderInSection中将滑动删除按钮添加到自定义视图

  2. 2

    iOS:如何在viewForHeaderInSection中将滑动删除按钮添加到自定义视图

  3. 3

    如何在Android中将子视图添加到ImageView

  4. 4

    如何在Python 3.5中将自定义代码添加到HTTPStatus?

  5. 5

    如何在Woocommerce中将自定义字段添加到类别中?

  6. 6

    如何在Java中将自定义颜色添加到数组中?

  7. 7

    如何在swift2中将分钟添加到自定义时间

  8. 8

    在Android中将标签和图像动态添加到自定义视图

  9. 9

    在Android上将ViewPager添加到自定义视图

  10. 10

    将自定义弹出窗口/视图添加到android中的活动

  11. 11

    Android-将自定义视图添加到xml布局中的组件

  12. 12

    如何在TFS Build 2015中将自定义部分添加到构建摘要中?

  13. 13

    如何在Laravel 5中将自定义配置文件添加到app / config?

  14. 14

    如何在iOS 8中将自定义页脚(带有渐变)添加到UIView

  15. 15

    如何在Windows 7中将图标添加到自定义上下文菜单项?

  16. 16

    如何在“查询”构建器中将自定义列添加到我的选择中?

  17. 17

    如何在Android的Chrome自定义标签中将EXTRA_REFERRER添加到CustomTabsIntent构建器

  18. 18

    如何在Android的Chrome自定义标签中将EXTRA_REFERRER添加到CustomTabsIntent构建器

  19. 19

    如何在android studio中向面板添加自定义视图?

  20. 20

    如何动态地在滚动视图中将自定义布局添加到线性布局

  21. 21

    如何在Sylius中将图像添加到自定义实体?

  22. 22

    如何在JS Fiddle中将自定义属性添加到head标签?

  23. 23

    如何在React Native中将屏幕添加到自定义底部导航

  24. 24

    如何在自定义插件中将buildscript依赖项添加到项目依赖项?

  25. 25

    如何在Olingo中将自定义属性添加到元模型?

  26. 26

    如何在NetSuite中将自定义字段添加到发票

  27. 27

    如何在Scala中将Builder方法添加到自定义IndexedSeq?

  28. 28

    如何在Wordpress中将图像添加到自定义主题本身?

  29. 29

    如何在React Native中将屏幕添加到自定义底部导航

热门标签

归档