个人技术博客(α)

个人技术博客(α)

成长之路

  • 参加本次团队作业,负责代码的部分,相对较少;更多在于推进团队工作的进行,以及博文的撰写。

  • 作为团队队长,不单单是分配任务到每位成员,而是需要先考虑每位同学的近期安排,并合理的分配任务。比如说,近期,团队中部分成员需要参加某些科目的期末考试,那成员的重心必然会偏向考试,此时不得不延缓团队项目的推进,但是不参加考试的成员也依然需要将项目推进下去。尽管,推进的内容有所减少


  • 本次团队作业的博文绝大多数,是由我进行规整并发布的;所以,可以说我现在已经可以比较熟练地使用Markdown编辑器发布博文,对于自己来说也算是一点进步。

  • 看着这么多篇博文,不禁感叹,半个学期的博文数量,完全超过了大学前两年博文的总和,也属不易。

  • 虽然说本次团队作业中,我负责的代码量较少,但也必然会参与到某些UI界面以及交互的设计中,所以我也有观看慕课网以及网易云课堂中的相关课程,另外有阅读《第一行代码》,并安装了Android开发环境,安装过程中可以说遇到了各种困难,也是不断地去克服,也终于在此时此刻能正常使用了。

  • 首先搭建环境包括JDK、SDK、ADT、IDE,首先最大的问题是下载Android Studio及其相关的软件,Android Studio官网需要FQ才能访问,找寻能够下载软件的网站是第一步网址

  • 其次最大的问题出现在SDK上,一方面由于版本兼容的问题,需要下载多个版本的SDK以备不时之需,另外SDK安装的路径,必须为英文路径,且不能包含空格,由于WIN10系统安装过程中,用户文件夹设置为中文,所以尝试安装在其他文件夹,即使修改了环境变量,IDE还是无法识别,“曲线救国”失败告终,重新上网学习重命名用户文件夹的方法。(此处不详述)


学习Android ConstraintLayout 约束布局

  • 常用方法总结
layout_constraintTop_toTopOf       // 将所需视图的顶部与另一个视图的顶部对齐。 
layout_constraintTop_toBottomOf    // 将所需视图的顶部与另一个视图的底部对齐。 
layout_constraintBottom_toTopOf    // 将所需视图的底部与另一个视图的顶部对齐。 
layout_constraintBottom_toBottomOf // 将所需视图的底部与另一个视图的底部对齐。 
layout_constraintLeft_toTopOf      // 将所需视图的左侧与另一个视图的顶部对齐。 
layout_constraintLeft_toBottomOf   // 将所需视图的左侧与另一个视图的底部对齐。 
layout_constraintLeft_toLeftOf     // 将所需视图的左边与另一个视图的左边对齐。 
layout_constraintLeft_toRightOf    // 将所需视图的左边与另一个视图的右边对齐。 
layout_constraintRight_toTopOf     // 将所需视图的右对齐到另一个视图的顶部。
layout_constraintRight_toBottomOf  // 将所需视图的右对齐到另一个的底部。
layout_constraintRight_toLeftOf    // 将所需视图的右边与另一个视图的左边对齐。
layout_constraintRight_toRightOf   // 将所需视图的右边与另一个视图的右边对齐

项目实例

  • 编辑界面部分布局
<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:id="@+id/layout_titlebar"
            android:layout_width="match_parent"
            android:layout_height="52dp"
            android:background="#99cccc">

            <TextView
                android:id="@+id/text_title"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:ellipsize="marquee"
                android:gravity="center_horizontal|center"
                android:text="编辑界面"
                android:textColor="#ffffffff"
                android:textSize="20dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="11dp" />

            <Button
                android:id="@+id/button_backward"
                android:layout_width="70dp"
                android:layout_height="match_parent"
                android:background="#99cccc"
                android:drawablePadding="6dp"
                android:ellipsize="end"
                android:gravity="center"
                android:onClick="onClick"
                android:paddingLeft="5dp"
                android:text="返回"
                android:textColor="#ffffffff"
                android:textSize="18dp"
                android:visibility="visible" />

            <Button
                android:id="@+id/button_forward"
                android:layout_width="70dp"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:background="#99cccc"
                android:drawablePadding="6dp"
                android:ellipsize="end"
                android:gravity="center"
                android:onClick="onClick"
                android:paddingLeft="5dp"
                android:text="预览"
                android:textColor="#ffffffff"
                android:textSize="18dp"
                android:visibility="visible" />
        </RelativeLayout>
        <EditText
            android:id="@+id/recognitionText"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:ems="50"
            android:text="121221213131232131"
            android:layout_below="@+id/layout_titlebar"
            android:layout_alignParentStart="true"
            android:textColor="@color/black"
            />
        <View
            android:layout_width="fill_parent"
            android:layout_above="@+id/textView3"
            android:layout_height="0.5dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="0dp"
            android:background="#aa000000"
            android:id="@+id/view" />

        <GridView
            android:id="@+id/backgroundSet"
            android:layout_width="match_parent"
            android:layout_height="80dp"
            android:layout_marginBottom="20dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="0dp"
            android:listSelector="@android:color/transparent"
            android:numColumns="2"
            android:scrollbars="none"
            android:layout_above="@+id/textView"
            android:layout_centerHorizontal="true" />
        <View
            android:layout_width="fill_parent"
            android:layout_above="@+id/textView"
            android:layout_height="0.5dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="0dp"
            android:background="#aa000000" />
        <Button
            android:id="@+id/bt1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="141dp"
            android:layout_marginStart="16dp"
            android:text="@string/button1"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="16dp" />

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="15dp"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/bt1"
            android:text="@string/button2" />

        <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="140dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:ems="10"
            android:hint="@string/button3" />

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/editText"
            android:layout_alignLeft="@+id/bt1"
            android:layout_alignStart="@+id/bt1"
            android:layout_marginBottom="13dp"
            android:text="@string/text1" />

        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView"
            android:layout_alignEnd="@+id/button"
            android:layout_alignRight="@+id/button"
            android:layout_alignTop="@+id/textView"
            android:entries="@array/spingarr" />

  • 编辑界面代码
private void setupViews() {
        super.setContentView(R.layout.activity_edit);
        mTitleTextView = (TextView) findViewById(R.id.text_title);

        mBackwardbButton = (Button) findViewById(R.id.button_backward);
        mForwardButton = (Button) findViewById(R.id.button_forward);
    }

    protected void onBackward(View backwardView) {
        Toast.makeText(this, "点击返回,可在此处调用finish()", Toast.LENGTH_LONG).show();
        finish();
    }

    protected void showBackwardView(int backwardResid, boolean show) {
        if (mBackwardbButton != null) {
            if (show) {
                mBackwardbButton.setText(backwardResid);
                mBackwardbButton.setVisibility(View.VISIBLE);
            } else {
                mBackwardbButton.setVisibility(View.INVISIBLE);
            }
        } // else ignored
    }

    /**
     * 提供是否显示提交按钮
     * @param forwardResId  文字
     * @param show  true则显示
     */
    protected void showForwardView(int forwardResId, boolean show) {
        if (mForwardButton != null) {
            if (show) {
                mForwardButton.setVisibility(View.VISIBLE);
                mForwardButton.setText(forwardResId);
            } else {
                mForwardButton.setVisibility(View.INVISIBLE);
            }
        } // else ignored
    }

    /**
     * 提交按钮点击后触发
     * @paramforwardView
     */
    protected void onForward(View forwardView) {
        Toast.makeText(this, "点击预览", Toast.LENGTH_LONG).show();
        //Intent intent = new Intent(EditSetActivity.this,AlbumActivity.class);
        //startActivity(intent);
    }

    //设置标题内容
    @Override
    public void setTitle(int titleId) {
        mTitleTextView.setText(titleId);
    }

    //设置标题内容
    @Override
    public void setTitle(CharSequence title) {
        mTitleTextView.setText(title);
    }


    public void setTitleColor(int textColor){mTitleTextView.setTextColor(textColor);}

    //取出FrameLayout并调用父类removeAllViews()方法


    @Override
    public void setContentView(View view) {
        mContentLayout.removeAllViews();
        mContentLayout.addView(view);
        onContentChanged();
    }

    /* (non-Javadoc)
     * @see android.app.Activity#setContentView(android.view.View, android.view.ViewGroup.LayoutParams)
     */
    @Override
    public void setContentView(View view, ViewGroup.LayoutParams params) {
        mContentLayout.removeAllViews();
        mContentLayout.addView(view, params);
        onContentChanged();
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_backward:
                onBackward(v);
                break;

            case R.id.button_forward:
                onForward(v);
                break;

            default:
                break;
        }
    }
posted @ 2017-11-09 19:55  阳光海天  阅读(256)  评论(2编辑  收藏  举报