Spinne-下拉式选单 跟ListView很像但是比较小
不是Menu
做MainActivity.xml档
spinner反红还是可以用
做res里的 strings.xml档
<resources>
<string name="app_name">Spinner</string>
<string-array name="meal">
<item>美式汉堡</item>
<item>猪肉汉堡</item>
<item>牛肉汉堡</item>
<item>泡菜汉堡</item>
<item>米汉堡</item>
</string-array>
<string-array name="drink">
<item>可乐</item>
<item>绿茶</item>
<item>奶茶</item>
<item>果汁</item>
</string-array>
</resources>
sp_meal-用绑定
MainActivity.xml档的资料跟谁绑定看entries
画面的"三角形"是不能点的~
@是res
array阵列
/meal里面的样子
1-sp_meal-用绑定
2-sp_drink-在java档-宣告
String sp1,sp2,sp3;蒐集点到的字串
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
把sp_meal,sp_drink,sp_dessert;初始化完.因为sp_meal已经做完了,所以做後面sp_drink,sp_dessert
ArrayAdapter adapter = new ArrayAdapter<>(); 完成转换的内容
安卓的前後都要写+使用下拉参数 android的a要小写
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp_meal =findViewById(R.id.sp_meal);
sp_drink = findViewById(R.id.sp_drink);
sp_dessert = findViewById(R.id.sp_dessert);
//第二组:取得array资源
//取得DATA-->转换-->元件呈现
String[] drink =getResources().getStringArray(R.array.drink);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
drink
);
//第三组
}
}
在元件中呈现
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp_meal =findViewById(R.id.sp_meal);
sp_drink = findViewById(R.id.sp_drink);
sp_dessert = findViewById(R.id.sp_dessert);
//第二组:取得array资源
//取得DATA-->转换-->元件呈现
String[] drink =getResources().getStringArray(R.array.drink);
//进行转换成指定的格式
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
drink
);
//在元件中呈现
sp_drink.setAdapter(adapter);
//第三组
}
}
模拟器看
3-sp_dessert-汇入res
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp_meal =findViewById(R.id.sp_meal);
sp_drink = findViewById(R.id.sp_drink);
sp_dessert = findViewById(R.id.sp_dessert);
//第二组:取得array资源
//取得DATA-->转换-->元件呈现
String[] drink =getResources().getStringArray(R.array.drink);
//进行转换成指定的格式
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
drink
);
//在元件中呈现
sp_drink.setAdapter(adapter);
//第三组
String[] dessert={"布丁","饼乾","CAKE","不要甜点"};
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
dessert
);
//在元件中呈现
sp_dessert.setAdapter(adapter1);
}
}
改下拉字的大小+呈现也是要用java档-新增layout资料夹
拉一个textView近来改宽30dp-上下左右不要绑
字的大小
背景色-background--选color
改layout_margin是10dp
字的颜色-textColor
再来到程序码去修改~
画线的要搬家
把其他的删掉-剩下长这样
有出错就是有重复
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_margin="10dp"
android:background="@color/purple_200"
android:text="TextView"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:textColor="@color/design_default_color_error"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="16dp" />
把第3组加入刚刚设计的
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp_meal =findViewById(R.id.sp_meal);
sp_drink = findViewById(R.id.sp_drink);
sp_dessert = findViewById(R.id.sp_dessert);
//第二组:取得array资源
//取得DATA-->转换-->元件呈现
String[] drink =getResources().getStringArray(R.array.drink);
//进行转换成指定的格式
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
drink
);
//在元件中呈现
sp_drink.setAdapter(adapter);
//第三组
String[] dessert={"布丁","饼乾","CAKE","不要甜点"};
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
dessert
);
//在元件中呈现
adapter1.setDropDownViewResource(R.layout.mylayout);
sp_dessert.setAdapter(adapter1);
}
}
只要看第一个com就好..其他是系统测试用-
按钮完成-
1-初始化按钮
2-加侦听器
3-选到的项目转成字串
package com.huang.my_spinner;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//宣告变数
Button button;
Spinner sp_meal,sp_drink,sp_dessert;
String sp1,sp2,sp3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp_meal =findViewById(R.id.sp_meal);
sp_drink = findViewById(R.id.sp_drink);
sp_dessert = findViewById(R.id.sp_dessert);
//第二组:取得array资源
//取得DATA-->转换-->元件呈现
String[] drink =getResources().getStringArray(R.array.drink);
//进行转换成指定的格式
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
drink
);
//在元件中呈现
sp_drink.setAdapter(adapter);
//第三组
String[] dessert={"布丁","饼乾","CAKE","不要甜点"};
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
dessert
);
//在元件中呈现
adapter1.setDropDownViewResource(R.layout.mylayout);
sp_dessert.setAdapter(adapter1);
//Button
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//第1组
sp1 =sp_meal.getSelectedItem().toString();
Toast.makeText(MainActivity.this,sp1,Toast.LENGTH_SHORT).show();
//第2组
sp2 =sp_drink.getSelectedItem().toString();
Toast.makeText(MainActivity.this,sp2,Toast.LENGTH_SHORT).show();
//第3组
sp3 =sp_dessert.getSelectedItem().toString();
Toast.makeText(MainActivity.this,sp3,Toast.LENGTH_SHORT).show();
}
});
}
}
Toast也是要用手机测试才看的到-
前面~都补好了喔
0.0居然被发现偷吃步在续命的方法了~
我真的很想好好写
但是因为肚子会饿~需要先赚钱钱
要努力挤出时间~
大大有兴趣可以看我去年modern web是有补好的喔~
今年会努力在完赛前补好的...
<<: Day 0x1D UVa10226 Hardwood Species
大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...
今天大概会聊到的范围 layout modifier 上一次讨论到 Modifier 时,觉得自己...
六指渊参考范例:https://www.sixvfx.com/ae_combustion 今天练习烛...
上一次我们已经厘清了中央极限定理的概念了~不知道这样的解说是否清晰?统计学其实是一个非常实用性的科学...
今日目标 继续完成批次渲染 结果... 今天抓到一堆bug,但是还是没debug完,被我弄丢的小方块...