android studio创建两个页面,第一个页面为MainActivity并加一个标题tvtitle,第二个为FontActivity,使用Activity实现在第二个页面输入字号来改变第一个页面标题字体大小
时间: 2024-09-30 09:06:10 浏览: 60
在Android Studio中创建两个页面,首先你需要做的是:
1. **创建主活动** (MainActivity.java):
- 在`MainActivity`中,设置一个TextView(例如`tvTitle`)作为标题,并初始化它。
```java
public class MainActivity extends AppCompatActivity {
private TextView tvTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvTitle = findViewById(R.id.tv_title);
tvTitle.setText("默认标题");
}
}
```
2. **创建自定义字体活动** (FontActivity.java):
- 创建一个新的Activity `FontActivity`,在这个活动中添加一个用于选择字号的UI元素(比如EditText或Spinner)以及一个按钮,当用户选择字号后发送到`MainActivity`。
```java
public class FontActivity extends AppCompatActivity {
// 添加一个EditText获取用户输入的字号
EditText editTextFontSize;
// ...其他UI和事件处理代码...
// 当用户点击按钮时,发送新的字号值
public static Intent startFromFontActivity(Context context, int fontSize) {
Intent intent = new Intent(context, MainActivity.class);
intent.putExtra("fontSize", fontSize);
return intent;
}
}
```
3. **传递数据** 和 **接收数据**:
- 在`FontActivity`中,当你得到用户的字号选择后,通过`startService`或`startActivityForResult`启动`MainActivity`并将字号作为 extras 发送给它。
- 在`MainActivity`中,需要覆盖`onActivityResult()`来处理接收到的数据,更新`tvTitle`的字体大小。
```java
public class MainActivity extends AppCompatActivity {
// ...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SELECT_FONT_REQUEST && resultCode == RESULT_OK) {
int fontSize = data.getIntExtra("fontSize", 0);
updateTitleFontSize(fontSize);
}
}
private void updateTitleFontSize(int fontSize) {
tvTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize);
}
}
```
4. **启动页面的交互**:
- 在`MainActivity`中提供一个启动`FontActivity`的方式(比如一个菜单项或按钮),触发字体大小的选择。
5. **相关问题--:**
1. 如何在Android Studio中设置Intent的extras?
2. 主Activity如何区分是从哪个外部Activity返回的结果?
3. 字号变化的效果如何实现动画过渡?
阅读全文
相关推荐
















