Articles of android linearlayout

在不使用layout_weight的情况下,使两个LinearLayout占据屏幕的50%

我目前正在做横向屏幕的特殊xml布局,其中存在4个图像,2个LinearLayouts彼此相邻,每个图像有2个图像。 这些LinearLayouts我称之为linearLayout1和linearLayout2 。 linearLayout1标有蓝色矩形: linearLayout2标有蓝色矩形: 如您所见,第一个使用约80%的屏幕,而第二个使用剩下的。 我当然不想要这个,我想要50%。 我不能使用layout_weight因为它已经在LinearLayouts本身(两个图像的定位)中使用,嵌套权重对性能不利。 我尝试了很多不同的变体,但我根本无法让两个LinearLayouts分别拥有50%的屏幕。 这是代码:

以编程方式设置ImageButton layout_gravity

我想做什么 我试图通过Java代码设置我的ImageButton的layout_gravity ,我希望ImageButton的方式呈现如下图中橙色框架内的方式: 蓝框是一个垂直的LinearLayout充当“基础”布局,这是我试图添加子布局的布局。 橙色和红色都是水平的LinearLayout 。 Orange布局是我想放置ImageButton和TextView ,这个是通过XML设置的 Red布局是我试图通过Java代码模仿Orange布局的结果。 相关守则 这是设置Orange布局的XML代码, 这是我想通过Java代码实现的效果: 这是设置Red布局的Java代码 int textHeight = (int)getResources().getDimension(R.dimen.detail_min_line_item_height); int imgHeight = (int)getResources().getDimension(R.dimen.abs__action_bar_default_height); TextView mTextView = new TextView(this); ImageButton mDeleteButton = new ImageButton(this); // Set Delete Button Padding // mDeleteButton.setPadding(buttonPadding, buttonPadding, buttonPadding, buttonPadding); // Set Imagebutton Scale type as fitCentre mDeleteButton.setScaleType(ScaleType.FIT_CENTER); // Set AdjustViewBounds mDeleteButton.setAdjustViewBounds(true); // Set […]

在android中如何使LinearLayout中的TextView拖动顺畅?

我有一种我无法解决的情况,希望我会得到你的一些建议。 情况很简单:我有一个LinearLayout,其中我有一个带有多行文本的TextView。 用户可以拖动TextView,直到find他喜欢的位置。 真正重要的是TextView可以部分地脱离LinearLayout(它将显示为cut)。 以下是一些代码示例: 正如您所看到的,LinearLayout具有clipChildren = false以允许截断文本。 对于textview,我设置了一个触摸监听器 txt.setOnTouchListener(new View.OnTouchListener() { int initialX = 0; int initialY = 0; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: initialX = (int) event.getX(); initialY = (int) event.getY(); break; case MotionEvent.ACTION_MOVE: int currentX = (int) event.getX(); int currentY = (int) event.getY(); LinearLayout.LayoutParams […]

在RTL中android:gravity =“start”将文本左对齐

在使用RTL语言(阿拉伯语)的设备上测试我的布局时,我发现带有重力的TextView:start始终将文本对齐而不是右对齐! 我试过android:textAlignment =“viewStart”并且它工作正常但由于API reqs我不依赖它。 我的代码(我的意思是代码中的第一个textview):

使用样式设置layout_width,layout_height

我使用样式文件为相同的布局设置了一个独特的样式, 样式: match_parent wrap_content horizontal @dimen/padding_small //在布局文件中 //contents Error:(design time) 运行时出错: 06-13 05:58:14.506: E/AndroidRuntime(936): Caused by: java.lang.RuntimeException: Binary XML file line #105: You must supply a layout_width attribute. 我哪里错了? TIA

如何将GridView集中在其LinearLayout父级中?

GridView的行为并不像它应该的那样。 此屏幕截图显示GridView(在横向模式下)向左刷新。 我希望它居中。 这是GridView的XML布局。 我究竟做错了什么 ?

如何解决sdk 17和18之间列表项布局行为的变化?

我创建了一个简单的应用程序来说明在包含在SDK 17和SDK 18之间的RelativeLayout中时LinearLayout的行为方式的变化。首先,截图: 当targetSdkVersion为“17”时: 当targetSdkVersion为“18”时: 此活动的布局是: text_list_item.xml是: 活动的onCreate()如下所示: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); findViewById(R.id.text).bringToFront(); final ListView mListView = (ListView) findViewById(R.id.listview); mListView.setAdapter(new TestAdapter()); } 而TestAdapter看起来像这样: public class TestAdapter extends BaseAdapter { private static final int COUNT = 3; @Override public int getCount() { return COUNT; } @Override public Object getItem(int position) { return null; […]

将布局XML扩展为自定义LinearLayout会创建冗余的LinearLayout视图

我正在创建一个自定义LinearLayout组件。 它被设计为模仿ListView一些function,用于ScrollView ,因为我不能/不应该在ScrollView使用ListView 。 我们称之为CustomListView 。 此外,我正在创建另一个自定义LinearLayout来表示此伪列表视图中的每个项目,我们将其称为NewItemView 。 无论如何,在初始化NewItemView时 ,我通过膨胀布局XML来设置它。 布局XML将LinearLayout声明为其根视图,与simple_list_item_multiple_choice.xml布局没有什么不同。 总的来说,主要活动有一个CustomListView 。 我们在CustomListView上调用addItem(Item item)来向列表添加一个新项,实际上,它创建一个新的NewItemView ,并用Item类中的数据填充它。 我在newListItem.initListItem(Context context)膨胀如下: ((Activity)getContext()) .getLayoutInflater() .inflate(R.layout.list_item, this, true); 这实际上有效! 但是,我遇到的问题是在使用Monitor进行检查时,只有位于列表中每个项目周围的冗余LinearLayout 。 我的理解是,这通常是个坏主意。 对于CustomListView有LinearLayout ,然后对于每个项目,都有一个LinearLayout ,只有一个子LinearLayout ; 一个LinearLayout ! 最后一个包含实际的孩子。 我希望它与我正在创建一个基于LinearLayout的自定义组件,然后在它的根目录下使用LinearLayout膨胀布局这一事实有关。

Android:TextView旁边的Drawable,其重量为LinearLayout中的每个TextView

我试图实现如Pic1所示的结果。 尝试设置重力,paddingleft等,但可绘制的图像出现在右端而不是文本旁边(如图2所示) )。 任何人都可以建议如何在TextView旁边对齐图像? 另外如何设置drawable的大小?

Android线性/相对布局 – 如何在中间“自动resize”对象(3个对象)

我在android中有两个使用Linear(也尝试过相对)布局的情况。 一个用于水平,另一个用于垂直。 让我们从水平开始: 它是这样的: 好吧,我希望按钮保持在左侧,图像保持在右侧(坚持到最后,而不仅仅是文本视图的右侧)和textview(可能具有自动宽度或其他)保持在中间。 如果我输入textview width =“fill / match_parent它将图像发送出屏幕。如果我放置wrap_content,那么图像不会停留在屏幕的右边。我也尝试过相对布局而没有成功。 垂直相同的情况,我有类似的东西: 这里要求相同。 我希望第一个L.layout保持在顶部,列表视图之间的自动大小和第二个线性布局保持在底部。 (想象一下,我正在尝试创建一个看起来像iPhone中的UITableView的视图,其中包含一个NavigationBar,项目列表和底部的工具栏.Fist LinearLayout是NavigationBar,LIst视图是单元格,第二个LinearLayout是工具栏)。 有什么建议么? 更喜欢xml解决方案。