Tag: android linearlayout

带有子项的onLineClick不在LinearLayout上触发

我有一个自定义的LinearLayout与一个较小的TextView子。 我希望能够点击没有被TextView覆盖的区域,所以我设置clickable = true和一个onclicklistener到LinearLayout,但onClick不会被触发。 如果我在TextView上设置onclick监听器,它按预期方式工作… 任何人都可以帮忙? ar_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ar_item" android:layout_width="202dp" android:layout_height="62dp" android:background="@drawable/bg_item_ar" android:clickable="true"> <TextView android:id="@+id/ar_item_txt" android:layout_width="164dp" android:layout_height="fill_parent" android:paddingBottom="8dp" android:paddingLeft="8dp" android:paddingTop="8dp" android:paddingRight="6dp" android:gravity="center" android:background="#50000000" /> </LinearLayout> 我的自定义LinearLayout public class ARView extends LinearLayout { public ARView(final Context context, String name, String id) { super(context); getLayoutInflater().inflate(R.layout.ar_item, this ,true); LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.ar_item, […]

将两个button设置为相同的宽度,而不考虑屏幕尺寸

好的,我有两个线性布局的button: <LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="fill_parent"> <Button android:id="@+id/aktiviraj_paket" android:text="Aktiviraj" android:layout_height="40sp" android:layout_width="160sp" android:background="@drawable/my_border3" android:onClick="myClickHandle"></Button> <Button android:id="@+id/deaktiviraj_paket" android:text="Deaktiviraj" android:layout_height="40sp" android:layout_width="fill_parent" android:background="@drawable/my_border3" android:onClick="myClickHandle"> </Button> </LinearLayout> 所以事情是,如果我在两个button上使用填充父项,它们是相互之间的一个,所以我做了第一个button160sp宽度,第二个是fill_parent。 如果在4英寸或更小的屏幕上显示,button的大小相同,但如果我在平板电脑(10英寸)上尝试此操作,则第一个button的宽度将保持为160sp,而第二个button的宽度将延伸到屏幕的末端(因为fill_parent)。 我可以做到这一点,所以无论屏幕大小如何,两个button都可以是大小的。

Android的片段不尊重match_parent作为高度

对不起,这个庞大的代码转储,但我真的迷路了。 MyActivity.java onCreate: super.onCreate(savedInstanceState); setContentView(R.layout.activity_singlepane_empty); mFragment = new PlacesFragment(); getSupportFragmentManager().beginTransaction() .add(R.id.root_container, mFragment) .commit(); PlacesFragment.java onCreateView: mRootView = (ViewGroup) inflater.inflate(R.layout.list_content, null); return mRootView; 注 :mRootView是一个ViewGroup的全局,我相信没有问题。 PlacesFragment是一个ListFragment。 布局: activity_singlepane_empty.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root_container" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00f"> <include layout="@layout/actionbar"/> <!– FRAGMENTS COME HERE! See match_parent above –> </LinearLayout> list_content.xml: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/listContainer" android:background="#990" > <ListView android:id="@android:id/list" […]

如何将一个片段添加到以编程方式生成的布局?

我有以下代码工作生成片段,但仅当我将它们添加到存在于我的XML文件中的线性布局。 LinearLayout fragmentsLayout = (LinearLayout) findViewById(R.id.foodItemActvity_linearLayout_fragments); FragmentManager fragMan = getFragmentManager(); FragmentTransaction fragTransaction = fragMan.beginTransaction(); Fragment myFrag= new ImageFragment(); fragTransaction.add(R.id.foodItemActvity_linearLayout_fragments, myFrag , "fragment" + fragCount); fragTransaction.commit(); 现在,如果我想要将该片段添加到XML文件中尚不存在的线性布局,例如 LinearLayout rowLayout = new LinearLayout(); 第2部分: Fragment frag1 = generateAppropriateFragment(type1); Fragment frag2 = generateAppropriateFragment(type2); LinearLayout fragmentsLayout = (LinearLayout) findViewById(R.id.foodItemActvity_linearLayout_fragments); LinearLayout rowLayout = new LinearLayout(this); rowLayout.setId(12345); // add counter to […]

从LinearLayout获取子元素

有没有办法获得LinearLayout的子元素? 我的代码返回一个视图(linearlayout),但我需要访问布局内的特定元素。 有什么build议么? (是的,我知道我可以使用findViewById,但我正在创build布局/孩子在Java – 而不是XML。)

Android的LinearLayout填充中间

我有一个垂直,设置高度(300px)的LinearLayout(LL)与3个嵌套的LL。 1和3用android:layout_height =“wrap_content”设置,中间用android:layout_height =“fill_parent”设置。 令我沮丧的是,第三名LL被推出,第二名填写父母布局到底部。 我如何达到预期的效果,因为我希望可以调整外部容器的大小,使中间部分扩大和缩小以适应变化

将parent上的wrap_content和child上的fill_parent结合起来

将线性布局的两个或多个元素设置为相同的高度似乎是一个很大的问题。 我想在同一个高度上设置四个button。 android:layout_height =“wrap_content”暂时这样做,但是当其中一个button上的文本超过一行时,这个button会增加,因此比其他的更大。 由于不同的本地化我不知道,何时和哪个button可能有第二行。 所以我的想法是, 将父元素layout设置为android:layout_height =“wrap_content”和所有(!)子元素高度为android:layout_height =“fill_parent” 。 这工作(所有button都有相同的大小),但我不知道这是否导致任何其他问题? 因为它的父母得到它从孩子的高度,反之亦然。

缩放背景图像来包装布局的内容

我有一个布局,其中包含一些文本字段,并有一个背景图像显示在我的活动的顶部。 我想要背景图像缩放以包装内容(不关心纵横比)。 然而,图像比内容大,所以布局代替了背景图像。 这是我的原始代码: <RelativeLayout android:layout_width="fill_parent" android:id="@+id/HeaderList" android:layout_gravity="top" android:layout_height="wrap_content" android:background="@drawable/header"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/NameText" android:text="Jhn Doe" android:textColor="#FFFFFF" android:textSize="30sp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:paddingLeft="4dp" android:paddingTop="4dp" /> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textColor="#FFFFFF" android:layout_alignParentLeft="true" android:id="@+id/HoursText" android:text="170 hours" android:textSize="23sp" android:layout_below="@+id/NameText" android:paddingLeft="4dp" /> </RelativeLayout> 在search其他一些问题之后,我发现了这两个问题: 如何包装内容视图而不是后台可绘制? 缩放可绘制的或背景图像? 基于此,我创build了一个带有ImageView的FrameLayout来显示背景。 不幸的是,我仍然无法工作。 我想要的背景图像的高度收缩/展开文本视图的大小,但与FrameLayout,ImageView符合它的父母的大小,我找不到一种方法,使父母适合文字视图布局的大小。 这是我更新的代码: <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageView android:src="@drawable/header" android:layout_width="fill_parent" android:scaleType="fitXY" android:layout_height="fill_parent" /> <RelativeLayout android:layout_width="fill_parent" […]

如何在Android中dynamic添加TextView到LinearLayout?

我尝试dynamic添加一个TextView到一个LinearLayout,如下面的代码,但是当我运行该应用程序时,它不会出现? setContentView(R.layout.advanced); m_vwJokeLayout=(LinearLayout) this.findViewById(R.id.m_vwJokeLayout); m_vwJokeEditText=(EditText) this.findViewById(R.id.m_vwJokeEditText); m_vwJokeButton=(Button) this.findViewById(R.id.m_vwJokeButton); TextView tv=new TextView(this); tv.setText("test"); this.m_vwJokeLayout.addView(tv); 有什么问题?

将视图添加到指定位置的LinearLayout

我有一个LinearLayout下面的main.xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1" android:id="@+id/llid"> <TextView android:text="Client profile" android:id="@+id/ProfileName" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> <TextView android:text="Specs" android:id="@+id/Specs" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> </LinearLayout> 我在运行时通过代码将图像添加到LinearLayout中,像这样 ImageView image = new ImageView(this); image.setImageBitmap(bmp); LinearLayout ll = (LinearLayout) findViewById(R.id.llid); ll.addView(image); 不过,我想在我的LinearLayout中的2个TextView之间添加ImageView。 我似乎无法在android文档中find一种方法在另一个视图之前或之后添加视图。 我怎样才能做到这一点? NB我打电话 setContentView(R.layout.main); 在将ImageView添加到LinearLayout之前。