2017-04-05 21 views
0

私はこの問題を解決するためにあなたの助けが必要です: 私は水平方向の線形レイアウトを持っています。このレイアウトの中に私は可視性のある5つのテキストビューがあります。このレイアウトの上に、5つのラジオボタンを横に並べたラジオグループがあります。Androidで5つのテキストビューを水平方向に整列する

ラジオボタンにチェックマークを付けると、対応するテキストビューで可視性が変更されます。すべてのラジオボタンの下にテキストビューを表示したいと思います。実際、彼らは同じ立場にある。

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

    <TextView /> 
    <TextView /> 
    <TextView /> 
    <TextView /> 
    <TextView /> 
</LinearLayout> 

どうすればいいですか?

+2

次/ショーtextview.Seeを非表示にチェックラジオボタンのIDを比較し、それに応じて(それが今どのように見えるかを示し、そしてあなたはそれが見てみたいですかいくつかの画像を表示する) –

答えて

0

LinearLayout weigthSumを1.0に設定します。それぞれのテキストビューの重みを0.2 &の可視性を不可視にします。 公開されていないビューには空きがありません

2番目のテキストビューを表示しました。しかし、テキスト "1"のテキストビューは、テキスト "2"のテキストビューの前にスペースを占有します。 onCheckChangeListenerを設定するラジオ・グループで

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="net.techdesire.HomeActivity" 
    tools:showIn="@layout/app_bar_home"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/radio_layout"> 

     <RadioGroup 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" 
      android:id="@+id/value_group"> 

     <RadioButton 
      android:text="1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioButton1" 
      android:layout_weight="0.2"/> 
     <RadioButton 
      android:text="2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioButton2" 
      android:layout_weight="0.2"/> 
     <RadioButton 
      android:text="3" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioButton3" 
      android:layout_weight="0.2"/> 
     <RadioButton 
      android:text="4" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioButton4" 
      android:layout_weight="0.2"/> 
     <RadioButton 
      android:text="5" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioButton5" 
      android:layout_weight="0.2"/> 
     </RadioGroup> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/fragment_container" 
     android:orientation="horizontal" 
     android:layout_below="@+id/radio_layout" 
     android:weightSum="1.0"> 

     <TextView 
      android:id="@+id/text1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.2" 
      android:visibility="invisible" 
      android:text="1"/> 
     <TextView 
      android:id="@+id/text2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.2" 
      android:visibility="visible" 
      android:text="22345678dsada" 
      android:maxLines="1" 
      android:ellipsize="marquee"/> 
     <TextView 
      android:id="@+id/text3" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.2" 
      android:visibility="invisible" 
      android:text="3"/> 
     <TextView 
      android:id="@+id/text4" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.2" 
      android:visibility="invisible" 
      android:text="4"/> 
     <TextView 
      android:id="@+id/text5" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.2" 
      android:visibility="invisible" 
      android:text="5"/> 
    </LinearLayout> 
</RelativeLayout> 

その後、

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);   
    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    { 
     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      /*hide all*/ 
      TextView tv; 
      if(checkedID==R.id.radioButton1) 
       tv=(RadioButton)findViewById(R.id.text1); 
      elseif(checkedID==R.id.radioButton2) 
       tv=(RadioButton)findViewById(R.id.text2); 
      /* Similarly other else conditions*/ 
      tv.setVisibility(View.VISIBLE); 
     } 
    }); 
0

goneの代わりにvisibility:Invisibleを使用してください。goneでは画面を使用しないため、残りの部分は実際には表示されず、最初の位置に表示されるためです。

これが役に立ちます。

0
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);   
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     // checkedId is the RadioButton selected 
     // set visibility in visible according to Id by using if condition Or switch 
    } 
}); 
関連する問題