更改单选按钮的文本格式并获取所有国家/地区的列表并将其放入微调器Android中

时间:2014-03-20 07:10:25

标签: android radio-button spinner

下面是一个活动的屏幕截图,其中包含供用户填写的详细信息列表。您可以看到选择的性别单选按钮与活动中的其余文本不匹配。它们是一种大胆的文字。我想让它与活动中的剩余文字类似,我该怎么做?

此外,我不想让用户输入州和国家名称,而是希望提供旋转器中所有国家/地区的列表,并且根据所选国家/地区,状态微调器应填充所选国家/地区的城市。我怎么能这样做?

enter image description here

以下是我上面的Activity

的xml代码
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".RegisterActivity" >

<TextView
    android:id="@+id/textView6"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/topic"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:text="@string/full_name" />

<EditText
    android:id="@+id/fname"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/email" />

<EditText
    android:id="@+id/email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textEmailAddress" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/age" />

<EditText
    android:id="@+id/age"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="number" />

<LinearLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/radioMale"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/radio_male" />
    <RadioButton
        android:id="@+id/radioFemale"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/radio_female" />
</LinearLayout>

<TextView
    android:id="@+id/textView4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/postal_address" />

<EditText
    android:id="@+id/address"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPostalAddress" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/state" />

<EditText
    android:id="@+id/state"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textCapWords" />

<TextView
    android:id="@+id/textView7"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/country" />

<EditText
    android:id="@+id/country"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textCapWords" />

<Button
    android:id="@+id/done"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/done" />

3 个答案:

答案 0 :(得分:2)

为每个或单选按钮

尝试android:textAppearance="?android:attr/textAppearanceSmall"

答案 1 :(得分:1)

答案1:如果你想要相同的大小,你可以在你的XML for RadioButton中尝试这个:  “android:textColor =”#404040“”

答案2:好的例子在这里: http://androidexample.com/Spinner_Basics_-_Android_Example/index.php?view=article_discription&aid=82&aaid=105

答案 2 :(得分:1)

<强> Q2 您需要将strings.xml中的国家/地区和状态存储为string-array并从中获取值并相应地填充ArrayAdapter。这是如何

  1. 从countries数组中填充ArrayAdapter并填充 您所在的国家/地区spinner
  2. 从第一个spinner获取国家/地区。
  3. 相应地从州array获取州/州
  4. spinner中填写您的州setOnItemSelectedListener 国家spinner
  5. 示例

    ArrayAdapter<CharSequence> countryArray, statesArray;
    countryArray = ArrayAdapter.createFromResource(this,R.array.countries,android.R.layout.simple_spinner_item);
    countryArray            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    statesArray = ArrayAdapter.createFromResource(this, R.array.states,android.R.layout.simple_spinner_item);
    statesArray.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    countrySpinner.setAdapter(countryArray);
            specialitySpinner.setOnItemSelectedListener(this);
    stateSpinner.setAdapter(stateArray);
            specialitySpinner.setOnItemSelectedListener(this);
    public void onItemSelected(AdapterView<?> parent, View view, int position,
                long id) {
    switch (parent.getId()) {
    country= (String) parent.getItemAtPosition(position);
    case R.id.country_spinner:
    switch (position) {
    case 0:
    statesArray = ArrayAdapter.createFromResource(this,
                            R.array.country1states,
                            android.R.layout.simple_spinner_item);
                    stateSpinner.setAdapter(statesArray);
    break;
    case 1:
    statesArray = ArrayAdapter.createFromResource(this,
                            R.array.country2states,
                            android.R.layout.simple_spinner_item);
                    stateSpinner.setAdapter(statesArray);
    break;
    }
    

    <强> Q1 使用android:textAppearance="?android:attr/textAppearanceSmall"

    请注意 我在这里编写了这段代码,所以期待错误。请相应修改代码。