休暇管理に関する申請書を作成していますが、次のような休暇リストのレイアウトを作成したいと思います。imageデータベースからのステータス変更のリストビューの色を変更したい。今、私はリストを表示するために単純なテキストビューを追加しますが、私がコードを与えてくれたら本当に役立つ画像のようにそれを変更したいです。
ここに私のJavaコードアダプターがあります:
@NonNull
@Override
public LeaveViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.leave_list, null);
view.setLayoutParams(new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT));
LeaveViewHolder viewHolder = new LeaveViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull LeaveViewHolder holder, int position) {
LeaveModel leave = leaveList.get(position);
holder.tVFrom_date.setText("From: " + leave.getFrom_date());
holder.tVTo_date.setText("To: " + leave.getTo_date());
holder.tVStatus.setText("Status: " + leave.getLeavestatus());
if (holder.tVStatus == null) {
} else {
}
}
@Override
public int getItemCount() {
return leaveList.size();
}
public class LeaveViewHolder extends RecyclerView.ViewHolder {
protected TextView tVFrom_date, tVTo_date, tVStatus;
public View container;
public LeaveViewHolder(View itemView) {
super(itemView);
tVFrom_date = itemView.findViewById(R.id.tVFrom_date);
tVTo_date = itemView.findViewById(R.id.tVTo_date);
tVStatus = itemView.findViewById(R.id.tVStatus);
}
}
これが私のXmlレイアウトです。
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="5dp"
card_view:cardElevation="5dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="6dp"
android:paddingStart="6dp">
<TextView
android:id="@+id/tVFrom_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:textColor="@color/Black"/>
<TextView
android:id="@+id/tVTo_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tVFrom_date"
android:layout_marginTop="5dp"
android:textColor="@color/Black"/>
<TextView
android:id="@+id/tVStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tVTo_date"
android:layout_marginTop="5dp"
android:textColor="@color/Red"
android:textStyle="bold" />
</RelativeLayout>
</android.support.v7.widget.CardView>
回答 2 件
ここには2つのオプションがあります。
RelativeLayoutで、FrameLayout空の要素を追加し、左の親を最大の高さと最大5dpの幅に揃えます。次に、onBindViewHolder()で必要に応じてFrameLayoutの背景色を設定します。もちろん、このオプションは単純な形状(長方形)です。
必要な形状が特定の場合、RelativeLayoutでも.PNG画像を追加し、プログラムでbackgroundTintを設定します。
関連記事
- アンドロイド:クロスフェードアニメーションでステータスバーの色を変更する方法
- Javascriptでのランダムな要素の色の変更
- 色を変更し、xmlでTextViewの太字部分を作成します
- 外部リンクの色を変更するにはどうすればよいですか?
- sassを使用してホバーカードの背景色を変更する
- チェックボックスを選択してsvg要素の背景色を変更する
- vuetifyexpansion-panel-headerのexpand-iconの色を変更します
- actionListenerでJButtonの色を変更するにはどうすればよいですか
- ナビゲーションバーのタイトルテキストをカスタムカラーに変更しますか?
- 頂点の各線の色を変更する
関連した質問
- AndroidStudioでstylexmlが見つかりません
- 私の問題に対する解決策はありますか? getId()
- AAPT:エラー:整形式ではありません(無効なトークン)
- 2回引いた後、アプリバーを展開するにはどうすればよいですか?
- 電卓アプリでDecimalFormatのエラーを解決する方法
- AlertDilogからMainActivtyにデータリターンを渡します
- RectFがCanvasの境界線から外れます
- (解決済み)デフォルトのandroid RecyclerView ViewHolder NPE shouldIgnore()
- GPIO制御にJavaクラスを使用して、AndroidOSで実行されるアプリケーションを作成する方法
- Firebaseデータベースのユーザーとユーザーデータをバインドする方法
レイアウトに画像ビューを追加したため、ステータスに応じてこの画像ビューの色を変更します
そして、私はあなたの理解のためだけにアダプタを作成しました