活动小方块作业

活动小方块作业

老师,我运行的结果是mHeight0.0,  square:0

获取不了父控件的高度以及方块的高度。

xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:hyman="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    tools:context="com.qiaoguo.canclesquare.MainActivity">

   <LinearLayout
       android:id="@+id/lay_content"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="9"
       android:background="@drawable/lay_line"
    >

    <com.qiaoguo.canclesquare.SquareView
        android:id="@+id/square"
        android:progress="0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />



</LinearLayout>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1">
    <Button
        android:id="@+id/left"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:background="@drawable/left"
        />

    <Button
        android:id="@+id/top"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:background="@drawable/down"
        />
    <Button
        android:id="@+id/right"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:background="@drawable/right"
        />


</LinearLayout>


</LinearLayout>

java程序

public class MainActivity extends AppCompatActivity {
private float mHeight;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SquareView square = (SquareView) findViewById(R.id.square);
        LinearLayout content = (LinearLayout) findViewById(R.id.lay_content);
       mHeight=(float) content.getBottom();
   Toast.makeText(this,"mHeight"+mHeight+"square"+square.getBottom(),Toast.LENGTH_SHORT).show();
        square.animate().translationY(mHeight).setDuration(3000).start();


    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

是否在自定义View的重写方法onMeasure()中,使用setMeasuredDimension(WIDTH / 6, HEIGHT / 10)设置了View的大小呢,其中WIDTH可以设置屏幕宽度,HEIGHT是屏幕高度。

  • 小巧的蜗牛 提问者 #1
    好的,老师,我还想问用什么方法可以获取到父容器的宽高?
    2018-03-27 18:29:31
  • irista23 回复 提问者 小巧的蜗牛 #2
    ((View) getParent()).getWidth();
    2018-03-27 18:33:26
  • 小巧的蜗牛 提问者 #3
    非常感谢!
    2018-03-27 19:43:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

Android多媒体开发与应用2018版
  • 参与学习           人
  • 解答问题       241    个

本专题是动画、游戏、音视频等实际应用开发必备技能。课程深入到Android事件总线,利用主流框架实现消息推送、自定义事件统计分析等功能。最后带你开发一款利用传感器实现计步、距离、热量等功能的App。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师