I have a nested series of linear layouts in my xml code. I want the first child of the parent (also a linear layout) to take focus. It does this if I set focusable to true. I would also like pass the focus onto the children of this layout (in order to invoke their state-lists). However it does not pass any of it's focus onto it's children, even if they are set to focusable. Any ideas how to do this? Thanks
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:weightSum="1"
android:layout_height="wrap_content"
android:background="@drawable/resultpage_statelist"
android:focusable="true"
android:clickable="true">
<TextView
android:text="TextView"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:paddingLeft="10dip"
android:layout_width="fill_parent"
android:layout_weight="0.8"
android:id="@+id/tag_row_text"
android:textSize="16dip"
android:padding="10dip"
android:textColor="@drawable/resultpage_grey_text_statelist"
android:background="#00000000"
android:focusable="true">
</TextView>
<ImageView
android:layout_height="wrap_content"
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_gravity="right|center_vertical"
android:src="@drawable/arrow_statelist"
android:layout_marginRight="10dip"
android:background="#00000000"
android:focusable="true">
</ImageView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:background="#6E6E6E"
android:layout_height="1dip">
</LinearLayout>
</LinearLayout>
LinearLayout is a view group that aligns all children in a single direction, vertically or horizontally. You can specify the layout direction with the android:orientation attribute. Note: For better performance and tooling support, you should instead build your layout with ConstraintLayout.
Android Layout Types Android provides the following ViewGroups or layouts: LinearLayout : is a ViewGroup that aligns all children in a single direction, vertically or horizontally. RelativeLayout : is a ViewGroup that displays child views in relative positions.
LinearLayout is less used as compared to RelativeLayout. RelativeLayout is used more in applications. We can use LinearLayout inside RelativeLayout. We can also use RelativeLayout as a Child of LinearLayout.
Use the XML attribute 'android:duplicateParentState' set to true on the child view to get it to inherit the drawable state of its parent.
More details here: http://developer.android.com/reference/android/view/View.html#attr_android:duplicateParentState
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With