作业参考
Posted 有头发的程序猿#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业参考相关的知识,希望对你有一定的参考价值。
一、Intent作业
1.使用隐式Intent从AActivity跳转至BActivity,并传递数字"250",将其打印。
2.BActivity返回AActivity时,传递字符"Yes!",将其打印
public class AActivity extends AppCompatActivity
Button button;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.main_btn);
textView = findViewById(R.id.text_1);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent = new Intent("Start");
String data = "123";
intent.putExtra("value",data);
startActivityForResult(intent, 1);
);
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode)
case 1:
if (resultCode == RESULT_OK)
String getData = data.getStringExtra("getdata");
Log.d("AActivity",getData);
break;
default:
由于这里是隐式intent,故而要在androidManifest.xml中找到你创建的BActivity,添加如下代码
<activity android:name=".BActivity">
<intent-filter>
<action android:name="Start"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
对应AActivity的xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AActivity">
<Button
android:id="@+id/main_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="跳转到BActivity"
android:textAllCaps="false"/>
</LinearLayout>
然后是BActivity中:
public class BActivity extends AppCompatActivity
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
button1 =findViewById(R.id.b_btn);
Intent intent = getIntent();
String data = intent.getStringExtra("value");
Log.d("BActivity",data);
button1.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent1 = new Intent();
intent1.putExtra("getdata","yes");
setResult(RESULT_OK,intent1);
finish();
);
@Override
public void onBackPressed()
Intent intent1 = new Intent();
intent1.putExtra("getdata","yes");
setResult(RESULT_OK,intent1);
finish();
对应BActivityxml的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="BActivity">
<Button
android:id="@+id/b_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="跳回到AActivity"
android:textAllCaps="false"/>
</LinearLayout>
二、布局按钮作业
1.首先观察整体,是一个从上往下的线性布局,故而写一个LinearLayout,orientation属性设置为horizontal
2.笑脸在水平中间,故而在ImageView中设置一个 android:layout_gravity="center_horizontal"属性
3.身体明显是一个相对布局,故而我们写一个RelativeLayout,接着我们以身体中心作为参考点,来讲各个部位写出来
4.接下来显示的是一段文字“请问我帅吗?”我们直接用Textview显示出来就可。
5.下面是EditText与Button按照3:1平分屏幕,这里我们而可以用比例的就是LinearLayout的权重,因此我们写一个LinearLayout,并且在里面写两个空间EditText和Button
6.最下面的明显的就是一个textView,但这个textView是用来动态显示我们的回答的,故而具体逻辑等下我们在MainActivity中代码里面实现,这里直接写个TextView,不需要设置text属性
布局代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/smile"
android:layout_gravity="center_horizontal"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="300dp"
>
<Button
android:layout_width="75dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"/>
<Button
android:layout_width="75dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
<Button
android:id="@+id/center"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerInParent="true"/>
<Button
android:layout_width="50dp"
android:layout_height="75dp"
android:layout_toLeftOf="@+id/center"
android:layout_below="@+id/center"/>
<Button
android:layout_width="50dp"
android:layout_height="75dp"
android:layout_toRightOf="@+id/center"
android:layout_below="@+id/center"/>
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请问我帅吗?"
android:gravity="center"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
/>
<Button
android:id="@+id/show_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示"/>
</LinearLayout>
<TextView
android:id="@+id/show_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="30dp"
android:gravity="center"/>
</LinearLayout>
接下来是MainActivity中的代码逻辑,处理我们在EditText输入答案后,点击显示按钮,会把Edittext中的答案显示在我们最下面的TextView里面,并且把EditText清空:
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.show_btn); //找到我们的显示button的id
final TextView textView = findViewById(R.id.show_text); //找到我们显示的TextView的id
final EditText editText = findViewById(R.id.editText);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
String content = editText.getText().toString(); //利用getText方法获取内容,并将改内容用toString方法转化成String类型,存在content中
textView.setText(content); //TextView用setText方法显示内容
editText.setText(""); //EditText清空
);
现在到了这里,其实我们就可以有很多自己玩的地方了,作业也不一定是死板的跟我的一样来做,可以自己改改,弄些有趣的地方,这样才能把安卓学的更好,下面分享一下我某位小朋友的作业(っ•̀ω•́)っ✎⁾⁾
以上是关于作业参考的主要内容,如果未能解决你的问题,请参考以下文章