前言
先建立一个 helloworld 工程(可参考我的另一篇文章【Android Studio 3.5.3】写helloworld程序及调试运行方法),接下来,在这个工程里加多一个 fragment。
修改APP名称
修改 res-->values-->strings.xml 里的内容即可,如下:
加一个按钮
如下,简单粗暴,直接拖到下面即可。
问题:按键的位置不对
由上图中,也可以看到有一个红底白字的感叹号,提示没有包含在容器里。这导致的结果就是,新加的按键会在左上角,也就是坐标为(0,0)的位置上。
那么,怎么解决呢?
1.切换会代码界面:
2.上下文的代码里都有位置信息的写法,如下图,虽热不一定是按键的,但写法是一样的。
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.573"
app:layout_constraintRight_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
3.把找到的这段位置信息的代码复制到按键里就行。
这时,再切回到图形界面下,就可以看到新加的按键有了位置信息啦,可以拖动到任何位置。
按键的位置不对,方法2
上面的是取巧的方法,正规的方法是先放一个容器,再在里面放按钮等控件。
然后,再在里面设定相对位置:
如下图,加多两个位置参数 layout_marginLeft和layout_marginTop。这两个参数,只要先输入 layout,就会有提示的。
代码里怎么和这个按键关连起来呢?
Button button_test = findViewById(R.id.button);
button_test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
onClick() 函数里的就是具体做的事情了,可以自己随意添加。至此,一个按钮的功能就添加完整啦。
加TextView
如下图,拖到下面就行。
确定位置
这一步和加按键是一样的。
加入:
改背景颜色
代码关联起来
易错点:每一个按钮ID,必须有代码关联起来,否则一打开软件就会闪退。
TextView textview_test = findViewById(R.id.textView3);
textview_test.append("超级测试");
这点代码的效果是:
拖动条 SeekBar
相关的代码为:
m_SeekBar = findViewById(R.id.seekBar_timed_send);
m_SeekBar.setProgress(m_Delay_Time_ms/10);
m_SeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {//拖动条停止拖动的时候调用
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {//拖动条开始拖动的时候调用
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {//拖动条进度改变的时候调用
m_Delay_Time_ms = seekBar.getProgress()*10;
m_TextView_Display.setText(String.format("%dms", m_Delay_Time_ms));
}
});