【修正前のイメージ】
【修正後のイメージ】
タイトル通りです。
ExpandableListViewの子要素の操作はできています。
親要素についての文献がなく実現できておりません。
行の高さや文字の大きさが大きすぎて不格好なので小さくしたいです。
あとインジケータを非表示にした分、文字列を左に寄せたいです。
修正後のイメージ(イメージでは文字は小さくしていませんがさらに小さくします)のようにするにはどうすればいいでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
(質問を編集して)実行できるコード・レイアウトをご提示願えますでしょうか。

回答1件
0
ベストアンサー
例えば group や child のレイアウトを素の(?) TextView にすると最小状態になると思います。
後はそれぞれお好きなようにレイアウトを弄れば良いわけですが。
MainActivity.java
java
1import androidx.appcompat.app.AppCompatActivity; 2 3import android.os.Bundle; 4import android.view.*; 5import android.widget.*; 6 7import java.util.*; 8 9public class MainActivity extends AppCompatActivity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 16 ExpandableListView exlistview = findViewById(R.id.exlistview); 17 exlistview.setAdapter(new ExListAdapter()); 18 } 19 20 private static class ExListAdapter extends BaseExpandableListAdapter { 21 private static class Group { 22 final String name; 23 final List<String> childs; 24 Group(String name, String... childs) { 25 this.name = name; 26 this.childs = Arrays.asList(childs); 27 } 28 } 29 private List<Group> datas = new ArrayList<>(); 30 31 ExListAdapter() { 32 datas.add(new Group("あああ", "あ1","あ2","あ3","あ4")); 33 datas.add(new Group("いいい", "い1","い2","い3","い4")); 34 } 35 36 @Override 37 public int getGroupCount() { 38 return datas.size(); 39 } 40 @Override 41 public int getChildrenCount(int i) { 42 return datas.get(i).childs.size(); 43 } 44 @Override 45 public Object getGroup(int i) { 46 return datas.get(i); 47 } 48 @Override 49 public Object getChild(int i, int j) { 50 return datas.get(i).childs.get(j); 51 } 52 @Override 53 public long getGroupId(int i) { 54 return 0; 55 } 56 @Override 57 public long getChildId(int i, int j) { 58 return 0; 59 } 60 @Override 61 public boolean hasStableIds() { 62 return false; 63 } 64 private static class ViewHolder { 65 final TextView titleView; 66 ViewHolder(View view) { 67 titleView = view.findViewById(R.id.titleView); 68 } 69 } 70 @Override 71 public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) { 72 if(view == null) { 73 view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.exlist_group, viewGroup, false); 74 view.setTag(new ViewHolder(view)); 75 } 76 ViewHolder vh = (ViewHolder)view.getTag(); 77 vh.titleView.setText(datas.get(i).name); 78 return view; 79 } 80 @Override 81 public View getChildView(int i, int j, boolean b, View view, ViewGroup viewGroup) { 82 if(view == null) { 83 view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.exlist_child, viewGroup, false); 84 view.setTag(new ViewHolder(view)); 85 } 86 ViewHolder vh = (ViewHolder)view.getTag(); 87 vh.titleView.setText(datas.get(i).childs.get(j)); 88 return view; 89 } 90 @Override 91 public boolean isChildSelectable(int i, int j) { 92 return false; 93 } 94 } 95}
res/layout/activity_main.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 tools:context=".MainActivity"> 9 10 <ExpandableListView 11 android:id="@+id/exlistview" 12 android:layout_width="0dp" 13 android:layout_height="0dp" 14 android:groupIndicator="@null" 15 android:background="#f0f0f0" 16 app:layout_constraintBottom_toBottomOf="parent" 17 app:layout_constraintEnd_toEndOf="parent" 18 app:layout_constraintStart_toStartOf="parent" 19 app:layout_constraintTop_toTopOf="parent" /> 20</androidx.constraintlayout.widget.ConstraintLayout>
res/layout/exlist_group.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 android:layout_width="match_parent" 6 android:layout_height="wrap_content"> 7 8 <TextView 9 android:id="@+id/titleView" 10 android:layout_width="0dp" 11 android:layout_height="wrap_content" 12 android:background="#e0e0e0" 13 app:layout_constraintBottom_toBottomOf="parent" 14 app:layout_constraintEnd_toEndOf="parent" 15 app:layout_constraintStart_toStartOf="parent" 16 app:layout_constraintTop_toTopOf="parent" /> 17</androidx.constraintlayout.widget.ConstraintLayout>
res/layout/exlist_child.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 android:layout_width="match_parent" 6 android:layout_height="wrap_content"> 7 8 <TextView 9 android:id="@+id/titleView" 10 android:layout_width="0dp" 11 android:layout_height="wrap_content" 12 android:background="@color/white" 13 app:layout_constraintBottom_toBottomOf="parent" 14 app:layout_constraintEnd_toEndOf="parent" 15 app:layout_constraintStart_toStartOf="parent" 16 app:layout_constraintTop_toTopOf="parent" /> 17</androidx.constraintlayout.widget.ConstraintLayout>
投稿2022/07/12 17:38
総合スコア13318
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。