android遇到的知识
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHrxfRjn-1638091608276)(C:\Users\17958\AppData\Roaming\Typora\typora-user-images\image-20211125132501483.png)]
1. css盒子模型
2. LinearLayout(线性布局)比较常用的布局
3. 居中设置
android:gravity="center" 设置控件显?内容相对于控件内部的位置
android:layout_gravity="center" 整个部件的居中
4. button的onclick的设置
1. 在activity_main.xml文件的button设置中添加onclick方法
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnShowToast"
android:text="Show Toast"
android:textColor="@color/white"
android:background="@color/design_default_color_primary"
android:onClick="onCreate"
tools:ignore="OnClick" />
2. 在MainActivity.java文件中具体化onclick方法(可以选择在activity_main.xml文件中对方法自动生成)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnShowToast = findViewById(R.id.btnShowToast);
TextView text1 = findViewById(R.id.text1);
btnShowToast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text1.setText(Integer.toString(++onclick));
}
});
}
public void onCreate(View view) {
}
5. toast
使? Toast 显?快显消息
Toast.makeText(MainActivity.this,"HelloWorld!",Toast.LENGTH_SHORT).show();
6. 文本滑动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5FUnzIyG-1638091550468)(C:\Users\17958\AppData\Roaming\Typora\typora-user-images\image-20211126193145890.png)]
例子如下:
<ScrollView
android:layout_below="@+id/article_title"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/article_subheading"
android:text="@string/article_subheading"
style="@style/article_subheading" />
<TextView
android:id="@+id/article_text"
android:text="@string/article_text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
style="@style/article_text" />
</LinearLayout>
</ScrollView>
Activity之间的信息传递
-
使? Intent 在 Activity 之间传递数据; -
使?显式 Intent 启动 Activity ;
要将 MainActivity 中 EditText ?户输?的消息传递给 MessageActivity ,我们需要在 Send Message 按钮点击事件侦听器中使? Intent 启 动 MessageActivity 活动。
启动 Activity 可以使? startActivity ?法,该?法接受?个 Intent(意图)参数。其 Intent 可以为 隐式 Intent 及显式 Intent,在本例中使?显式Intent ?式启动 MessageActivity ,如代码2.5。为了将 EditText 中?户输?的消息传递给 MessageActivity ,我们使? Intent 对象中的putExtra()?法,该?法接收 key-value(键值对)形式的参数。
要在 MessageActivity 中取出启动该 Activity 时传?的 Message 值,需要getIntent()?法,该?法取得启动 Activity 的 Intent 对象,再使? Intent 对象的getStringExtra()?法取得传?的 Message 值,如代码2.6所?。
mainActivity.java
public class MainActivity extends AppCompatActivity {
public static final String MESSAGE_STRING = "com.example.code04.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText etmessage = findViewById(R.id.message);
Button sendButton = findViewById(R.id.send_message);
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String message = etmessage.getText().toString();
Intent intent = new Intent(MainActivity.this,MessageActivity.class);
intent.putExtra(MESSAGE_STRING,message);
startActivity(intent);
}
});
}
}
messageActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_message);
TextView tvmessage = findViewById(R.id.tvmessage);
Intent intent = getIntent();
String meaasge = intent.getStringExtra(MainActivity.MESSAGE_STRING);
if(meaasge!=null){
if(tvmessage!=null){
tvmessage.setText(meaasge);
}
}
}
|