0

enter image description hereダイアログのフラグメントまたはウィンドウの背景色を取得する方法は?

赤い文字が少し出てきました。

「詳細情報」テキストビューの背景を同じ色に設定できるように、ダイアログの背景色を取得する必要があります。 APIレベルによってダイアログの色が異なるため、プログラムでこの操作を行う必要があります。

Javaコード:

public class CityDetailDialog extends DialogFragment { 

    private SharedPreferences sharedPreferences; 
    private City mCity; 
    private LinearLayout mCityContainerLayout; 
    private ImageView mImageFlag; 
    private TextView mTextCity; 
    private ImageView mImageCity; 
    private ImageButton mButtonGoogleMaps; 
    private ImageButton mButtonWikipedia; 
    private TextView mMoreInfoTextView; 

    public CityDetailDialog() { 
    } 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 
          @Nullable Bundle savedInstanceState) { 
     sharedPreferences = getActivity().getSharedPreferences("settings", Context.MODE_PRIVATE); 
     return inflater.inflate(R.layout.dialog_city_detail, container, false); 
    } 

    @Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     mCity = (City) getArguments().getSerializable("city"); 
     mCityContainerLayout = (LinearLayout) view.findViewById(R.id.container_city_dialog); 
     mImageFlag = (ImageView) view.findViewById(R.id.flag_image); 
     mTextCity = (TextView) view.findViewById(R.id.city_name); 
     mImageCity = (ImageView) view.findViewById(R.id.city_image); 
     mButtonGoogleMaps = (ImageButton) view.findViewById(R.id.button_google_maps); 
     mButtonWikipedia = (ImageButton) view.findViewById(R.id.button_wikipedia); 
     mMoreInfoTextView = (TextView) view.findViewById(R.id.more_info_label); 

     mImageFlag.setImageResource(ResourceByNameRetriever.getDrawableResourceByName(mCity. 
       getCountryName(), getActivity())); 
     mTextCity.setText(ResourceByNameRetriever.getStringResourceByName(mCity.getCityName(), 
       getActivity())); 
     Picasso.with(getActivity()).load(mCity.getImageUrl()).into(mImageCity); 

     mButtonGoogleMaps.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent mapsIntent = new Intent(Intent.ACTION_VIEW); 
       mapsIntent.setData(Uri.parse("geo:" + mCity.getCoordinates())); 
       Intent chooser = Intent.createChooser(mapsIntent, getString(R.string.launch_maps)); 
       startActivity(chooser); 
      } 
     }); 

     mButtonWikipedia.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent wikiIntent = new Intent(Intent.ACTION_VIEW); 
       wikiIntent.setData(Uri.parse(mCity.getWikiUrl())); 
       Intent chooser = Intent.createChooser(wikiIntent, getString(R.string.launch_browser)); 
       startActivity(chooser); 
      } 
     }); 
    } 

}

+0

共有してくださいダイアログを実装するために作成したJavaコード。 –

+0

@ KavachChandraは – Nico

+0

を追加しました。そのため、mMoreInfoTextView.bringToFront()などのさまざまな方法でアプリを実行し、テキストの背景色を設定しましたが、右側の画像に表示されている効果は得られませんでした。 TexViewは常にその下の要素のバックグラウンドをとりました。つまり、それを通って線を横切ったとき、私は視点を前面に持っていても線が見えていました。私が考えることができる唯一の解決策は、関連するXMLレイアウトを変更することです。それが解決策でもあると思われる場合は、そのコードを共有してください。 –

答えて

1

変更は所望の効果を達成するためになされる必要がある、次のgithubの上のあなたのxmlファイル内のコードに基づいて:

<LinearLayout 
     android:id="@+id/container_buttons" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:baselineAligned="false" 
     android:orientation="horizontal" 
     android:layout_below="@+id/relativeLayout"> 

. 
. 
. 
</LinearLayout> 
<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:id="@+id/relativeLayout"> 

     <View 
      android:id="@+id/horizontal_divider1" 
      android:layout_width="wrap_content" 
      android:layout_height="2dp" 
      android:layout_centerInParent="true" 
      android:background="@color/gray" 
      android:layout_toLeftOf="@+id/more_info_label" 
      android:layout_toStartOf="@+id/more_info_label"/> 


     <TextView 
      android:id="@+id/more_info_label" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:padding="5dp" 
      android:text="@string/more_info" 
      android:textSize="18dp" /> 

     <View 
      android:id="@+id/horizontal_divider2" 
      android:layout_width="wrap_content" 
      android:layout_height="2dp" 
      android:layout_centerInParent="true" 
      android:background="@color/gray" 
      android:layout_toRightOf="@+id/more_info_label" 
      android:layout_toEndOf="@+id/more_info_label"/> 

    </RelativeLayout> 
関連する問題