我有一个视图,实际上是一个按钮.这是它的XML布局(add_new.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/buttonNew"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bText"
android:onClick="addNew"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当我将其可见性设置为GONE时
v = getActivity().getLayoutInflater().inflate(R.layout.add_new, null);
v.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
它消失但仍占据空间.像这样:
这个按钮是一个标题,ListView由这个xml定义:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/porno" >
<ImageView
android:id="@+id/icon"
android:layout_width="30dp"
android:layout_height="40dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="10dp"
android:layout_marginTop="4dp"
android:src="@drawable/ic_launcher">
</ImageView>
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="20dp" >
</TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当其可见性设置为GONE时,我不希望它占用额外的列表项.正如文档中所述.
GONE - 此视图不可见,并且不需要任何空间用于布局.
关于如何使它不占用空间的任何想法?
谢谢,Dennis xx
PS我的listview位于FoldersFragment内部,ListFragment这里是我的MainActivity的xml,其中提供了FoldersFragment
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment
android:id="@+id/foldersFragment"
android:layout_width="200dip"
android:layout_height="match_parent"
class="com.example.fragments.FoldersFragment" >
</fragment> …Run Code Online (Sandbox Code Playgroud) 这个Activity班有一个setContentView()方法.该PopupWindow班有一个getContentView()方法,但没有别的一样.有没有其他方法来获取活动的主要内容视图?
我希望我DatePicker的按钮在开始时不可见.当我按下我的魔法按钮时,我想设置可见性(View.Visible);
这里的问题是当我setVisibility(View.GONE)或setVisibility(View.INVISIBLE)什么都没有改变并且组件仍然可见时.
final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
TextView txt2 = (TextView) findViewById(R.id.txt2);
txt2.setText("You selected " + dp2.getDayOfMonth()
+ "/" + (dp2.getMonth() + 1) + "/" + dp2.getYear());
}
});
Run Code Online (Sandbox Code Playgroud) http://developer.android.com/reference/android/view/Window.html#getDecorView():
检索顶级窗口装饰视图(包含标准窗口框架/装饰和其中的客户端内容),可以将其作为窗口添加到窗口管理器.
这令人费解.目前尚不清楚标准的"窗框/装饰"是什么.我完全不知道这是什么,文档很糟糕.它是否存在于应用程序窗口内?它是否围绕应用程序的窗口?
我从未见过具有明显窗口装饰的Android窗口.并且"可以添加为窗口"意味着装饰视图是一个窗口,但这与类层次结构(View不是其子类Window)相矛盾.
那是什么交易?装饰视图究竟是什么?
我已经从eclipse导入了一个项目到Android工作室.它使用自定义视图:
xmlns:app="http://schemas.android.com/apk/res-auto"
Run Code Online (Sandbox Code Playgroud)
我从activity_ro.xml文件中获得以下行中的错误,如:
"错误:(136)在'com.app.xxxx'包中找不到属性'pstsTabPaddingLeftRight'的资源标识符"
app:pstsDividerColor="#00000000"
app:pstsIndicatorColor="#FF33B5E6"
app:pstsTabPaddingLeftRight="14dip"
app:pstsUnderlineColor="#FF33B5E6" />
Run Code Online (Sandbox Code Playgroud)
我不确定自定义视图对于gradle是否有所不同,或者我做错了什么.有人有想法吗?
有没有办法在Android的导航抽屉视图中禁用背景视图的暗淡化效果?
我在开发的自定义Android视图中收到此警告(来自问题标题).
为什么我会收到警告?它背后的逻辑是什么,即为什么在
覆盖performClick时也会覆盖它onTouchEvent?
我有一个Android项目,我应该让苹果掉下来.苹果涂在Rect中.所以我创建了一个改变Rect位置并重新绘制的函数.这是我的功能:
private void updateApplesPosition() {
for(Rect rect:fallingDownFruitsList)
rect.set(rect.left, rect.top +10, rect.right, rect.bottom +10);
}
Run Code Online (Sandbox Code Playgroud)
我有一个问题:苹果不会掉下来,而是从右到左.为了让苹果落下,我改变了代码:
private void updateApplesPosition() {
for(Rect rect:fallingDownFruitsList)
rect.set(rect.left+10, rect.top, rect.right+10, rect.bottom);
}
Run Code Online (Sandbox Code Playgroud) 我对这个问题的回答刚刚被接受,但我开始想知道究竟是什么时候需要使一个视图无效(以及什么时候没有必要)?
经过一番思考后,我意识到它应该或多或少地像这样工作:
onResume()invalidated(和下面的一切)因此,看起来,如果我改变后的东西onResume()(例如作为对按钮点击的响应,我应该invalidate()改变View).
但是,从这个问题中的 scana所说,它必须比那更复杂,并且它取决于某些人使用的方法.
例如,是否使用
lastClicked.setImageBitmap();
Run Code Online (Sandbox Code Playgroud)
要么
lastClicked.setImageResource();
Run Code Online (Sandbox Code Playgroud)
那么,什么时候需要在View上执行invalidate()以及它是如何工作的呢?
我有一个简单的地址表格,如下所示:
Java的:
public class NewAddressActivity extends AppCompatActivity {
private TextInputLayout mStreetLayout;
private TextInputLayout mNumberLayout;
private TextInputLayout mNeighborhoodLayout;
private TextInputLayout mCityLayout;
private TextInputLayout mStateLayout;
private TextInputLayout mCepLayout;
private TextInputLayout mPhoneLayout;
private EditText mStreetText;
private EditText mNumberText;
private EditText mComplementText;
private EditText mNeighborhoodText;
private EditText mCityText;
private EditText mStateText;
private EditText mCepText;
private EditText mPhoneText;
private Address mAddressEditing;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_address);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
mStreetLayout = findViewById(R.id.street_layout);
mNumberLayout = …Run Code Online (Sandbox Code Playgroud)